]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/tests/testSBufList.cc
2 * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
10 #include "sbuf/Algorithms.h"
11 #include "sbuf/List.h"
12 #include "tests/testSBufList.h"
13 #include "unitTestMain.h"
15 CPPUNIT_TEST_SUITE_REGISTRATION( testSBufList
);
17 SBuf
literal("The quick brown fox jumped over the lazy dog");
18 static int sbuf_tokens_number
=9;
19 static SBuf tokens
[]= {
20 SBuf("The",3), SBuf("quick",5), SBuf("brown",5), SBuf("fox",3),
21 SBuf("jumped",6), SBuf("over",4), SBuf("the",3), SBuf("lazy",4),
26 testSBufList::testSBufListMembership()
29 for (int j
=0; j
<sbuf_tokens_number
; ++j
)
30 foo
.push_back(tokens
[j
]);
31 CPPUNIT_ASSERT_EQUAL(true,IsMember(foo
,SBuf("fox")));
32 CPPUNIT_ASSERT_EQUAL(true,IsMember(foo
,SBuf("Fox"),caseInsensitive
));
33 CPPUNIT_ASSERT_EQUAL(false,IsMember(foo
,SBuf("garble")));
37 testSBufList::testSBufListJoin()
40 CPPUNIT_ASSERT_EQUAL(SBuf(""),JoinContainerToSBuf(foo
.begin(), foo
.end(),SBuf()));
41 for (int j
= 0; j
< sbuf_tokens_number
; ++j
)
42 foo
.push_back(tokens
[j
]);
43 SBuf joined
=JoinContainerToSBuf(foo
.begin(), foo
.end(),SBuf(" "));
44 CPPUNIT_ASSERT_EQUAL(literal
,joined
);
45 SBuf
s1("1"), s2("2"), s3("3"), full("(1,2,3)");
46 SBufList sl
{s1
,s2
,s3
};
47 CPPUNIT_ASSERT_EQUAL(full
, JoinContainerToSBuf(sl
.begin(),
48 sl
.end(), SBuf(","), SBuf("("), SBuf(")")));
50 CPPUNIT_ASSERT_EQUAL(SBuf(""),JoinContainerToSBuf(foo
.begin(), foo
.begin(),SBuf()));