Mercurial > irccd
annotate tests/path/main.cpp @ 374:e9adab218027
Misc: various code cleanup
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 08 Dec 2016 20:06:38 +0100 |
parents | 287e9ede5eef |
children | c6fbb6e0e06d |
rev | line source |
---|---|
0 | 1 /* |
2 * main.cpp -- test path functions | |
3 * | |
4 * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #include <gtest/gtest.h> | |
20 | |
95
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
21 #include <irccd/sysconfig.hpp> |
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
22 #include <irccd/logger.hpp> |
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
23 #include <irccd/path.hpp> |
0 | 24 |
25 namespace irccd { | |
26 | |
27 /* -------------------------------------------------------- | |
28 * Back slashes | |
29 * -------------------------------------------------------- */ | |
30 | |
31 #if defined(IRCCD_SYSTEM_WINDOWS) | |
32 | |
33 TEST(Back, nochange) | |
34 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
35 std::string path = "\\usr\\local\\etc\\"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
36 std::string result = path::clean(path); |
0 | 37 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
38 ASSERT_EQ(path, result); |
0 | 39 } |
40 | |
41 TEST(Back, duplicateBegin) | |
42 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
43 std::string path = "\\\\usr\\local\\etc\\"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
44 std::string result = path::clean(path); |
0 | 45 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
46 ASSERT_EQ("\\usr\\local\\etc\\", result); |
0 | 47 } |
48 | |
49 TEST(Back, duplicateEnd) | |
50 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
51 std::string path = "\\usr\\local\\etc\\\\"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
52 std::string result = path::clean(path); |
0 | 53 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
54 ASSERT_EQ("\\usr\\local\\etc\\", result); |
0 | 55 } |
56 | |
57 TEST(Back, duplicateEverywhere) | |
58 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
59 std::string path = "\\\\usr\\\\local\\\\etc\\\\"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
60 std::string result = path::clean(path); |
0 | 61 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
62 ASSERT_EQ("\\usr\\local\\etc\\", result); |
0 | 63 } |
64 | |
65 TEST(Back, missingTrailing) | |
66 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
67 std::string path = "\\usr\\local\\etc"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
68 std::string result = path::clean(path); |
0 | 69 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
70 ASSERT_EQ("\\usr\\local\\etc\\", result); |
0 | 71 } |
72 | |
73 #else | |
74 | |
75 /* -------------------------------------------------------- | |
76 * Forward slashes | |
77 * -------------------------------------------------------- */ | |
78 | |
79 TEST(Forward, nochange) | |
80 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
81 std::string path = "/usr/local/etc/"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
82 std::string result = path::clean(path); |
0 | 83 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
84 ASSERT_EQ(path, result); |
0 | 85 } |
86 | |
87 TEST(Forward, duplicateBegin) | |
88 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
89 std::string path = "//usr/local/etc/"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
90 std::string result = path::clean(path); |
0 | 91 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
92 ASSERT_EQ("/usr/local/etc/", result); |
0 | 93 } |
94 | |
95 TEST(Forward, duplicateEnd) | |
96 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
97 std::string path = "/usr/local/etc//"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
98 std::string result = path::clean(path); |
0 | 99 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
100 ASSERT_EQ("/usr/local/etc/", result); |
0 | 101 } |
102 | |
103 TEST(Forward, duplicateEverywhere) | |
104 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
105 std::string path = "//usr//local//etc//"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
106 std::string result = path::clean(path); |
0 | 107 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
108 ASSERT_EQ("/usr/local/etc/", result); |
0 | 109 } |
110 | |
111 TEST(Forward, missingTrailing) | |
112 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
113 std::string path = "/usr/local/etc"; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
114 std::string result = path::clean(path); |
0 | 115 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
116 ASSERT_EQ("/usr/local/etc/", result); |
0 | 117 } |
118 | |
119 #endif | |
120 | |
121 } // !irccd | |
122 | |
123 using namespace irccd; | |
124 | |
125 int main(int argc, char **argv) | |
126 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
127 /* |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
128 * Just show everything for test purpose. |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
129 */ |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
130 path::setApplicationPath(argv[0]); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
131 log::debug() << "System paths:" << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
132 log::debug() << " config(system): " << path::get(path::PathConfig, path::OwnerSystem) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
133 log::debug() << " data(system): " << path::get(path::PathData, path::OwnerSystem) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
134 log::debug() << " plugins(system): " << path::get(path::PathPlugins, path::OwnerSystem) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
135 log::debug() << " cache(system): " << path::get(path::PathCache, path::OwnerSystem) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
136 log::debug() << "User paths:" << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
137 log::debug() << " config(user): " << path::get(path::PathConfig, path::OwnerUser) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
138 log::debug() << " data(user): " << path::get(path::PathData, path::OwnerUser) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
139 log::debug() << " plugins(user): " << path::get(path::PathPlugins, path::OwnerUser) << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
140 log::debug() << " cache(user): " << path::get(path::PathCache, path::OwnerUser) << std::endl; |
0 | 141 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
142 testing::InitGoogleTest(&argc, argv); |
0 | 143 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
144 return RUN_ALL_TESTS(); |
0 | 145 } |