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