NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
utilities.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
//#define BOOST_TEST_DYN_LINK
28
#define BOOST_TEST_MODULE utility
29
#include <boost/test/unit_test.hpp>
30
31
#include <iostream>
32
#include <string>
33
34
#include <
websocketpp/utilities.hpp
>
35
36
BOOST_AUTO_TEST_SUITE ( utility )
37
38
BOOST_AUTO_TEST_CASE
( substr_found ) {
39
std::string haystack =
"abc123"
;
40
std::string needle =
"abc"
;
41
42
BOOST_CHECK(
websocketpp::utility::ci_find_substr
(haystack,needle) ==haystack.begin());
43
}
44
45
BOOST_AUTO_TEST_CASE
( substr_found_ci ) {
46
std::string haystack =
"abc123"
;
47
std::string needle =
"aBc"
;
48
49
BOOST_CHECK(
websocketpp::utility::ci_find_substr
(haystack,needle) ==haystack.begin());
50
}
51
52
BOOST_AUTO_TEST_CASE
( substr_not_found ) {
53
std::string haystack =
"abd123"
;
54
std::string needle =
"abcd"
;
55
56
BOOST_CHECK(
websocketpp::utility::ci_find_substr
(haystack,needle) == haystack.end());
57
}
58
59
BOOST_AUTO_TEST_CASE
(
to_lower
) {
60
std::string in =
"AbCd"
;
61
62
BOOST_CHECK_EQUAL(
websocketpp::utility::to_lower
(in),
"abcd"
);
63
}
64
65
BOOST_AUTO_TEST_CASE
(
string_replace_all
) {
66
std::string source =
"foo \"bar\" baz"
;
67
std::string dest =
"foo \\\"bar\\\" baz"
;
68
69
using
websocketpp::utility::string_replace_all
;
70
BOOST_CHECK_EQUAL(
string_replace_all
(source,
"\""
,
"\\\""
),dest);
71
}
72
73
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(substr_found)
Definition:
utilities.cpp:38
websocketpp::utility::string_replace_all
std::string string_replace_all(std::string subject, std::string const &search, std::string const &replace)
Replace all occurrances of a substring with another.
Definition:
utilities_impl.hpp:73
websocketpp::utility::to_lower
std::string to_lower(std::string const &in)
Convert a string to lowercase.
Definition:
utilities_impl.hpp:37
websocketpp::utility::ci_find_substr
T::const_iterator ci_find_substr(T const &haystack, T const &needle, std::locale const &loc=std::locale())
Find substring (case insensitive)
Definition:
utilities.hpp:101
utilities.hpp
ndnSIM
NFD
websocketpp
test
utility
utilities.cpp
Generated on Fri May 6 2022 12:34:14 for ndnSIM by
1.8.13