Mercurial > irccd
annotate tests/util/main.cpp @ 532:c59b87f66b67
CMake: share same resources, closes #725
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 16 Nov 2017 23:59:37 +0100 |
parents | d71c59eb04c3 |
children |
rev | line source |
---|---|
0 | 1 /* |
2 * main.cpp -- test util functions | |
3 * | |
394 | 4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr> |
0 | 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 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
19 #define BOOST_TEST_MODULE "util" |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
20 #include <boost/test/unit_test.hpp> |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
21 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
22 #include <cstdint> |
0 | 23 |
95
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
75
diff
changeset
|
24 #include <irccd/util.hpp> |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
25 #include <irccd/fs_util.hpp> |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
26 #include <irccd/string_util.hpp> |
95
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
75
diff
changeset
|
27 #include <irccd/system.hpp> |
0 | 28 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
29 namespace std { |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
30 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
31 std::ostream& operator<<(std::ostream& out, const std::vector<std::string>& list) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
32 { |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
33 for (const auto& s : list) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
34 out << s << " "; |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
35 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
36 return out; |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
37 } |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
38 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
39 } // !std |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
40 |
0 | 41 namespace irccd { |
42 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
43 BOOST_AUTO_TEST_SUITE(format) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
44 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
45 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
46 * string_util::format function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
47 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
48 */ |
0 | 49 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
50 BOOST_AUTO_TEST_CASE(nothing) |
0 | 51 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
52 std::string expected = "hello world!"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
53 std::string result = string_util::format("hello world!"); |
0 | 54 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
55 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 56 } |
57 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
58 BOOST_AUTO_TEST_CASE(escape) |
118
2a63c8ec45cd
Irccd: fix some errors in util::format, #408
David Demelier <markand@malikania.fr>
parents:
114
diff
changeset
|
59 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
60 string_util::subst params; |
118
2a63c8ec45cd
Irccd: fix some errors in util::format, #408
David Demelier <markand@malikania.fr>
parents:
114
diff
changeset
|
61 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
62 params.keywords.emplace("target", "hello"); |
118
2a63c8ec45cd
Irccd: fix some errors in util::format, #408
David Demelier <markand@malikania.fr>
parents:
114
diff
changeset
|
63 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
64 BOOST_REQUIRE_EQUAL("$@#", string_util::format("$@#")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
65 BOOST_REQUIRE_EQUAL(" $ @ # ", string_util::format(" $ @ # ")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
66 BOOST_REQUIRE_EQUAL("#", string_util::format("#")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
67 BOOST_REQUIRE_EQUAL(" # ", string_util::format(" # ")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
68 BOOST_REQUIRE_EQUAL("#@", string_util::format("#@")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
69 BOOST_REQUIRE_EQUAL("##", string_util::format("##")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
70 BOOST_REQUIRE_EQUAL("#!", string_util::format("#!")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
71 BOOST_REQUIRE_EQUAL("#{target}", string_util::format("##{target}")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
72 BOOST_REQUIRE_EQUAL("@hello", string_util::format("@#{target}", params)); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
73 BOOST_REQUIRE_EQUAL("hello#", string_util::format("#{target}#", params)); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
74 BOOST_REQUIRE_THROW(string_util::format("#{failure"), std::exception); |
118
2a63c8ec45cd
Irccd: fix some errors in util::format, #408
David Demelier <markand@malikania.fr>
parents:
114
diff
changeset
|
75 } |
2a63c8ec45cd
Irccd: fix some errors in util::format, #408
David Demelier <markand@malikania.fr>
parents:
114
diff
changeset
|
76 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
77 BOOST_AUTO_TEST_CASE(disable_date) |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
78 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
79 string_util::subst params; |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
80 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
81 params.flags &= ~(string_util::subst_flags::date); |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
82 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
83 BOOST_REQUIRE_EQUAL("%H:%M", string_util::format("%H:%M", params)); |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
84 } |
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
85 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
86 BOOST_AUTO_TEST_CASE(disable_keywords) |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
87 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
88 string_util::subst params; |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
89 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
90 params.keywords.emplace("target", "hello"); |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
91 params.flags &= ~(string_util::subst_flags::keywords); |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
92 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
93 BOOST_REQUIRE_EQUAL("#{target}", string_util::format("#{target}", params)); |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
94 } |
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
95 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
96 BOOST_AUTO_TEST_CASE(disable_env) |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
97 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
98 string_util::subst params; |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
99 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
100 params.flags &= ~(string_util::subst_flags::env); |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
101 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
102 BOOST_REQUIRE_EQUAL("${HOME}", string_util::format("${HOME}", params)); |
119
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
103 } |
b39573fc066e
Irccd: improve util::format to disable some features, #408
David Demelier <markand@malikania.fr>
parents:
118
diff
changeset
|
104 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
105 BOOST_AUTO_TEST_CASE(keyword_simple) |
0 | 106 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
107 string_util::subst params; |
0 | 108 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
109 params.keywords.insert({"target", "irccd"}); |
0 | 110 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
111 std::string expected = "hello irccd!"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
112 std::string result = string_util::format("hello #{target}!", params); |
0 | 113 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
114 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 115 } |
116 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
117 BOOST_AUTO_TEST_CASE(keyword_multiple) |
0 | 118 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
119 string_util::subst params; |
0 | 120 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
121 params.keywords.insert({"target", "irccd"}); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
122 params.keywords.insert({"source", "nightmare"}); |
0 | 123 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
124 std::string expected = "hello irccd from nightmare!"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
125 std::string result = string_util::format("hello #{target} from #{source}!", params); |
0 | 126 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
127 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 128 } |
129 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
130 BOOST_AUTO_TEST_CASE(keyword_adj_twice) |
0 | 131 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
132 string_util::subst params; |
0 | 133 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
134 params.keywords.insert({"target", "irccd"}); |
0 | 135 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
136 std::string expected = "hello irccdirccd!"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
137 std::string result = string_util::format("hello #{target}#{target}!", params); |
0 | 138 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
139 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 140 } |
141 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
142 BOOST_AUTO_TEST_CASE(keyword_missing) |
0 | 143 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
144 std::string expected = "hello !"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
145 std::string result = string_util::format("hello #{target}!"); |
0 | 146 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
147 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 148 } |
149 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
150 BOOST_AUTO_TEST_CASE(env_simple) |
0 | 151 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
152 std::string home = sys::env("HOME"); |
0 | 153 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
154 if (!home.empty()) { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
155 std::string expected = "my home is " + home; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
156 std::string result = string_util::format("my home is ${HOME}"); |
0 | 157 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
158 BOOST_REQUIRE_EQUAL(expected, result); |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
159 } |
0 | 160 } |
161 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
162 BOOST_AUTO_TEST_CASE(env_missing) |
0 | 163 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
164 std::string expected = "value is "; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
165 std::string result = string_util::format("value is ${HOPE_THIS_VAR_NOT_EXIST}"); |
0 | 166 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
167 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 168 } |
169 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
170 BOOST_AUTO_TEST_SUITE_END() |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
171 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
172 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
173 * string_util::split function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
174 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
175 */ |
0 | 176 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
177 BOOST_AUTO_TEST_SUITE(split) |
0 | 178 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
179 using list = std::vector<std::string>; |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
180 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
181 BOOST_AUTO_TEST_CASE(simple) |
0 | 182 { |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
183 list expected { "a", "b" }; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
184 list result = string_util::split("a;b", ";"); |
0 | 185 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
186 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 187 } |
188 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
189 BOOST_AUTO_TEST_CASE(cut) |
0 | 190 { |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
191 list expected { "msg", "#staff", "foo bar baz" }; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
192 list result = string_util::split("msg;#staff;foo bar baz", ";", 3); |
0 | 193 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
194 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 195 } |
196 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
197 BOOST_AUTO_TEST_SUITE_END() |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
198 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
199 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
200 * string_util::strip function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
201 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
202 */ |
0 | 203 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
204 BOOST_AUTO_TEST_SUITE(strip) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
205 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
206 BOOST_AUTO_TEST_CASE(left) |
0 | 207 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
208 std::string value = " 123"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
209 std::string result = string_util::strip(value); |
0 | 210 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
211 BOOST_REQUIRE_EQUAL("123", result); |
0 | 212 } |
213 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
214 BOOST_AUTO_TEST_CASE(right) |
0 | 215 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
216 std::string value = "123 "; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
217 std::string result = string_util::strip(value); |
0 | 218 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
219 BOOST_REQUIRE_EQUAL("123", result); |
0 | 220 } |
221 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
222 BOOST_AUTO_TEST_CASE(both) |
0 | 223 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
224 std::string value = " 123 "; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
225 std::string result = string_util::strip(value); |
0 | 226 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
227 BOOST_REQUIRE_EQUAL("123", result); |
0 | 228 } |
229 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
230 BOOST_AUTO_TEST_CASE(none) |
0 | 231 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
232 std::string value = "without"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
233 std::string result = string_util::strip(value); |
0 | 234 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
235 BOOST_REQUIRE_EQUAL("without", result); |
0 | 236 } |
237 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
238 BOOST_AUTO_TEST_CASE(betweenEmpty) |
0 | 239 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
240 std::string value = "one list"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
241 std::string result = string_util::strip(value); |
0 | 242 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
243 BOOST_REQUIRE_EQUAL("one list", result); |
0 | 244 } |
245 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
246 BOOST_AUTO_TEST_CASE(betweenLeft) |
0 | 247 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
248 std::string value = " space at left"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
249 std::string result = string_util::strip(value); |
0 | 250 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
251 BOOST_REQUIRE_EQUAL("space at left", result); |
0 | 252 } |
253 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
254 BOOST_AUTO_TEST_CASE(betweenRight) |
0 | 255 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
256 std::string value = "space at right "; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
257 std::string result = string_util::strip(value); |
0 | 258 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
259 BOOST_REQUIRE_EQUAL("space at right", result); |
0 | 260 } |
261 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
262 BOOST_AUTO_TEST_CASE(betweenBoth) |
0 | 263 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
264 std::string value = " space at both "; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
265 std::string result = string_util::strip(value); |
0 | 266 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
267 BOOST_REQUIRE_EQUAL("space at both", result); |
0 | 268 } |
269 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
270 BOOST_AUTO_TEST_CASE(empty) |
0 | 271 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
272 std::string value = " "; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
273 std::string result = string_util::strip(value); |
0 | 274 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
275 BOOST_REQUIRE_EQUAL("", result); |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
276 } |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
277 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
278 BOOST_AUTO_TEST_SUITE_END() |
0 | 279 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
280 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
281 * string_util::join function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
282 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
283 */ |
0 | 284 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
285 BOOST_AUTO_TEST_SUITE(join) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
286 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
287 BOOST_AUTO_TEST_CASE(empty) |
0 | 288 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
289 std::string expected = ""; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
290 std::string result = string_util::join<int>({}); |
0 | 291 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
292 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 293 } |
294 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
295 BOOST_AUTO_TEST_CASE(one) |
0 | 296 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
297 std::string expected = "1"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
298 std::string result = string_util::join({1}); |
0 | 299 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
300 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 301 } |
302 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
303 BOOST_AUTO_TEST_CASE(two) |
0 | 304 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
305 std::string expected = "1:2"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
306 std::string result = string_util::join({1, 2}); |
0 | 307 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
308 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 309 } |
310 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
311 BOOST_AUTO_TEST_CASE(delimiterString) |
0 | 312 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
313 std::string expected = "1;;2;;3"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
314 std::string result = string_util::join({1, 2, 3}, ";;"); |
0 | 315 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
316 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 317 } |
318 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
319 BOOST_AUTO_TEST_CASE(delimiterChar) |
0 | 320 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
321 std::string expected = "1@2@3@4"; |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
322 std::string result = string_util::join({1, 2, 3, 4}, '@'); |
0 | 323 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
324 BOOST_REQUIRE_EQUAL(expected, result); |
0 | 325 } |
326 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
327 BOOST_AUTO_TEST_SUITE_END() |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
328 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
329 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
330 * string_util::is_identifier function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
331 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
332 */ |
0 | 333 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
334 BOOST_AUTO_TEST_SUITE(is_identifier_valid) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
335 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
336 BOOST_AUTO_TEST_CASE(correct) |
0 | 337 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
338 BOOST_REQUIRE(string_util::is_identifier("localhost")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
339 BOOST_REQUIRE(string_util::is_identifier("localhost2")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
340 BOOST_REQUIRE(string_util::is_identifier("localhost2-4_")); |
0 | 341 } |
342 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
343 BOOST_AUTO_TEST_CASE(incorrect) |
0 | 344 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
345 BOOST_REQUIRE(!string_util::is_identifier("")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
346 BOOST_REQUIRE(!string_util::is_identifier("localhost with spaces")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
347 BOOST_REQUIRE(!string_util::is_identifier("localhost*")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
348 BOOST_REQUIRE(!string_util::is_identifier("&&")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
349 BOOST_REQUIRE(!string_util::is_identifier("@'")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
350 BOOST_REQUIRE(!string_util::is_identifier("##")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
351 BOOST_REQUIRE(!string_util::is_identifier("===++")); |
0 | 352 } |
353 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
354 BOOST_AUTO_TEST_SUITE_END() |
0 | 355 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
356 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
357 * string_util::is_boolean function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
358 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
359 */ |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
360 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
361 BOOST_AUTO_TEST_SUITE(is_boolean) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
362 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
363 BOOST_AUTO_TEST_CASE(correct) |
0 | 364 { |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
365 // true |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
366 BOOST_REQUIRE(string_util::is_boolean("true")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
367 BOOST_REQUIRE(string_util::is_boolean("True")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
368 BOOST_REQUIRE(string_util::is_boolean("TRUE")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
369 BOOST_REQUIRE(string_util::is_boolean("TruE")); |
0 | 370 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
371 // yes |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
372 BOOST_REQUIRE(string_util::is_boolean("yes")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
373 BOOST_REQUIRE(string_util::is_boolean("Yes")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
374 BOOST_REQUIRE(string_util::is_boolean("YES")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
375 BOOST_REQUIRE(string_util::is_boolean("YeS")); |
0 | 376 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
377 // on |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
378 BOOST_REQUIRE(string_util::is_boolean("on")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
379 BOOST_REQUIRE(string_util::is_boolean("On")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
380 BOOST_REQUIRE(string_util::is_boolean("oN")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
381 BOOST_REQUIRE(string_util::is_boolean("ON")); |
0 | 382 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
119
diff
changeset
|
383 // 1 |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
384 BOOST_REQUIRE(string_util::is_boolean("1")); |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
385 } |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
386 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
387 BOOST_AUTO_TEST_CASE(incorrect) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
388 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
389 BOOST_REQUIRE(!string_util::is_boolean("false")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
390 BOOST_REQUIRE(!string_util::is_boolean("lol")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
391 BOOST_REQUIRE(!string_util::is_boolean("")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
392 BOOST_REQUIRE(!string_util::is_boolean("0")); |
0 | 393 } |
394 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
395 BOOST_AUTO_TEST_SUITE_END() |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
396 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
397 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
398 * string_util::is_number function |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
399 * -------------------------------------------------------- |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
400 */ |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
401 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
402 BOOST_AUTO_TEST_SUITE(is_number) |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
403 |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
404 BOOST_AUTO_TEST_CASE(correct) |
0 | 405 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
406 BOOST_REQUIRE(string_util::is_number("123")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
407 BOOST_REQUIRE(string_util::is_number("-123")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
408 BOOST_REQUIRE(string_util::is_number("123.67")); |
0 | 409 } |
410 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
411 BOOST_AUTO_TEST_CASE(incorrect) |
0 | 412 { |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
413 BOOST_REQUIRE(!string_util::is_number("lol")); |
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
414 BOOST_REQUIRE(!string_util::is_number("this is not a number")); |
0 | 415 } |
416 | |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
417 BOOST_AUTO_TEST_SUITE_END() |
0 | 418 |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
419 /* |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
420 * string_util::to_int function |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
421 * ------------------------------------------------------------------ |
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
422 */ |
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
423 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
424 BOOST_AUTO_TEST_SUITE(to_int) |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
425 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
426 BOOST_AUTO_TEST_CASE(signed_to_int) |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
427 { |
531
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
428 BOOST_TEST(string_util::to_int("10") == 10); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
429 BOOST_TEST(string_util::to_int<std::int8_t>("-10") == -10); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
430 BOOST_TEST(string_util::to_int<std::int8_t>("10") == 10); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
431 BOOST_TEST(string_util::to_int<std::int16_t>("-1000") == -1000); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
432 BOOST_TEST(string_util::to_int<std::int16_t>("1000") == 1000); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
433 BOOST_TEST(string_util::to_int<std::int32_t>("-1000") == -1000); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
434 BOOST_TEST(string_util::to_int<std::int32_t>("1000") == 1000); |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
435 } |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
436 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
437 BOOST_AUTO_TEST_CASE(signed_to_int64) |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
438 { |
531
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
439 BOOST_TEST(string_util::to_int<std::int64_t>("-9223372036854775807") == -9223372036854775807LL); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
440 BOOST_TEST(string_util::to_int<std::int64_t>("9223372036854775807") == 9223372036854775807LL); |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
441 } |
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
442 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
443 BOOST_AUTO_TEST_CASE(unsigned_to_uint) |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
444 { |
531
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
445 BOOST_TEST(string_util::to_uint("10") == 10U); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
446 BOOST_TEST(string_util::to_uint<std::uint8_t>("10") == 10U); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
447 BOOST_TEST(string_util::to_uint<std::uint16_t>("1000") == 1000U); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
448 BOOST_TEST(string_util::to_uint<std::uint32_t>("1000") == 1000U); |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
449 } |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
450 |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
451 BOOST_AUTO_TEST_CASE(unsigned_to_uint64) |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
452 { |
531
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
453 BOOST_TEST(string_util::to_uint<std::uint64_t>("18446744073709551615") == 18446744073709551615ULL); |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
454 } |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
455 |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
456 BOOST_AUTO_TEST_SUITE_END() |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
457 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
458 BOOST_AUTO_TEST_SUITE(errors) |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
459 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
460 BOOST_AUTO_TEST_CASE(invalid_argument) |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
461 { |
531
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
462 BOOST_REQUIRE_THROW(string_util::to_int("plopation"), std::invalid_argument); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
463 BOOST_REQUIRE_THROW(string_util::to_uint("plopation"), std::invalid_argument); |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
464 } |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
465 |
530
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
466 BOOST_AUTO_TEST_CASE(out_of_range) |
7cd7b2cdf923
Common: import to_int / to_uint
David Demelier <markand@malikania.fr>
parents:
521
diff
changeset
|
467 { |
531
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
468 BOOST_REQUIRE_THROW(string_util::to_int<std::int8_t>("1000"), std::out_of_range); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
469 BOOST_REQUIRE_THROW(string_util::to_int<std::int8_t>("-1000"), std::out_of_range); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
470 BOOST_REQUIRE_THROW(string_util::to_uint<std::uint8_t>("1000"), std::out_of_range); |
d71c59eb04c3
Common: add string_util namespace
David Demelier <markand@malikania.fr>
parents:
530
diff
changeset
|
471 BOOST_REQUIRE_THROW(string_util::to_uint<std::uint8_t>("-1000"), std::out_of_range); |
114
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
472 } |
8cbbce7b4327
Irccd: add util::toNumber function, #489
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
473 |
488
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
474 BOOST_AUTO_TEST_SUITE_END() |
7e273b7f4f92
Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents:
394
diff
changeset
|
475 |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
476 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
477 * fs_util::find function (name) |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
478 * ------------------------------------------------------------------ |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
479 */ |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
480 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
481 BOOST_AUTO_TEST_SUITE(fs_find_name) |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
482 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
483 BOOST_AUTO_TEST_CASE(not_recursive) |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
484 { |
532
c59b87f66b67
CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents:
531
diff
changeset
|
485 auto file1 = fs_util::find(CMAKE_SOURCE_DIR "/tests/root", "file-1.txt", false); |
c59b87f66b67
CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents:
531
diff
changeset
|
486 auto file2 = fs_util::find(CMAKE_SOURCE_DIR "/tests/root", "file-2.txt", false); |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
487 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
488 BOOST_TEST(file1.find("file-1.txt") != std::string::npos); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
489 BOOST_TEST(file2.empty()); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
490 } |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
491 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
492 BOOST_AUTO_TEST_CASE(recursive) |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
493 { |
532
c59b87f66b67
CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents:
531
diff
changeset
|
494 auto file1 = fs_util::find(CMAKE_SOURCE_DIR "/tests/root", "file-1.txt", true); |
c59b87f66b67
CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents:
531
diff
changeset
|
495 auto file2 = fs_util::find(CMAKE_SOURCE_DIR "/tests/root", "file-2.txt", true); |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
496 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
497 BOOST_TEST(file1.find("file-1.txt") != std::string::npos); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
498 BOOST_TEST(file2.find("file-2.txt") != std::string::npos); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
499 } |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
500 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
501 BOOST_AUTO_TEST_SUITE_END() |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
502 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
503 /* |
521
e03521cf207b
Common: split util.hpp into more appropriate files, closes #721
David Demelier <markand@malikania.fr>
parents:
518
diff
changeset
|
504 * fs_util::find function (regex) |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
505 * ------------------------------------------------------------------ |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
506 */ |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
507 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
508 BOOST_AUTO_TEST_SUITE(fs_find_regex) |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
509 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
510 BOOST_AUTO_TEST_CASE(not_recursive) |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
511 { |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
512 const std::regex regex("file-[12]\\.txt"); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
513 |
532
c59b87f66b67
CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents:
531
diff
changeset
|
514 auto file = fs_util::find(CMAKE_SOURCE_DIR "/tests/root", regex, false); |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
515 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
516 BOOST_TEST(file.find("file-1.txt") != std::string::npos); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
517 } |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
518 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
519 BOOST_AUTO_TEST_CASE(recursive) |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
520 { |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
521 const std::regex regex("file-[12]\\.txt"); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
522 |
532
c59b87f66b67
CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents:
531
diff
changeset
|
523 auto file = fs_util::find(CMAKE_SOURCE_DIR "/tests/root/level-1", regex, true); |
514
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
524 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
525 BOOST_TEST(file.find("file-2.txt") != std::string::npos); |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
526 } |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
527 |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
528 BOOST_AUTO_TEST_SUITE_END() |
16b9ebfd3f08
Irccd: get rid of fs.hpp, closes #594
David Demelier <markand@malikania.fr>
parents:
488
diff
changeset
|
529 |
0 | 530 } // !irccd |