diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2016-12-17 21:54:34 -0500 |
---|---|---|
committer | Ashod Nakashian <ashnakash@gmail.com> | 2016-12-19 05:51:49 +0000 |
commit | 7e1529af319bf57ecca61c656ebfe97d44d4e109 (patch) | |
tree | c955db668d5812b0dc0b97ba436e4a50e7605b41 /test/WhiteBoxTests.cpp | |
parent | loolwsd: better MessagePayload encapsulation and cleanup (diff) | |
download | online-7e1529af319bf57ecca61c656ebfe97d44d4e109.tar.gz online-7e1529af319bf57ecca61c656ebfe97d44d4e109.zip |
loolwsd: add tokenization to MessagePayload
Change-Id: I39135b2ad65da5abce93848a68faffc93906a0c0
Reviewed-on: https://gerrit.libreoffice.org/32157
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Diffstat (limited to 'test/WhiteBoxTests.cpp')
-rw-r--r-- | test/WhiteBoxTests.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/WhiteBoxTests.cpp b/test/WhiteBoxTests.cpp index 0b9620a597..03cf59b586 100644 --- a/test/WhiteBoxTests.cpp +++ b/test/WhiteBoxTests.cpp @@ -24,6 +24,7 @@ class WhiteBoxTests : public CPPUNIT_NS::TestFixture CPPUNIT_TEST_SUITE(WhiteBoxTests); CPPUNIT_TEST(testLOOLProtocolFunctions); + CPPUNIT_TEST(testTokenizer); CPPUNIT_TEST(testRegexListMatcher); CPPUNIT_TEST(testRegexListMatcher_Init); CPPUNIT_TEST(testEmptyCellCursor); @@ -31,6 +32,7 @@ class WhiteBoxTests : public CPPUNIT_NS::TestFixture CPPUNIT_TEST_SUITE_END(); void testLOOLProtocolFunctions(); + void testTokenizer(); void testRegexListMatcher(); void testRegexListMatcher_Init(); void testEmptyCellCursor(); @@ -124,6 +126,67 @@ void WhiteBoxTests::testLOOLProtocolFunctions() CPPUNIT_ASSERT_EQUAL(std::string(""), Util::trim(s)); } +void WhiteBoxTests::testTokenizer() +{ + std::vector<std::string> tokens; + + tokens = LOOLProtocol::tokenize(""); + CPPUNIT_ASSERT_EQUAL(0UL, tokens.size()); + + tokens = LOOLProtocol::tokenize(" "); + CPPUNIT_ASSERT_EQUAL(0UL, tokens.size()); + + tokens = LOOLProtocol::tokenize("A"); + CPPUNIT_ASSERT_EQUAL(1UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + + tokens = LOOLProtocol::tokenize(" A"); + CPPUNIT_ASSERT_EQUAL(1UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + + tokens = LOOLProtocol::tokenize("A "); + CPPUNIT_ASSERT_EQUAL(1UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + + tokens = LOOLProtocol::tokenize(" A "); + CPPUNIT_ASSERT_EQUAL(1UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + + tokens = LOOLProtocol::tokenize(" A Z "); + CPPUNIT_ASSERT_EQUAL(2UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + CPPUNIT_ASSERT_EQUAL(std::string("Z"), tokens[1]); + + tokens = LOOLProtocol::tokenize("\n"); + CPPUNIT_ASSERT_EQUAL(0UL, tokens.size()); + + tokens = LOOLProtocol::tokenize(" A \nZ "); + CPPUNIT_ASSERT_EQUAL(1UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + + tokens = LOOLProtocol::tokenize(" A Z\n "); + CPPUNIT_ASSERT_EQUAL(2UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + CPPUNIT_ASSERT_EQUAL(std::string("Z"), tokens[1]); + + tokens = LOOLProtocol::tokenize(" A Z \n "); + CPPUNIT_ASSERT_EQUAL(2UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("A"), tokens[0]); + CPPUNIT_ASSERT_EQUAL(std::string("Z"), tokens[1]); + + tokens = LOOLProtocol::tokenize("tile part=0 width=256 height=256 tileposx=0 tileposy=0 tilewidth=3840 tileheight=3840 ver=-1"); + CPPUNIT_ASSERT_EQUAL(9UL, tokens.size()); + CPPUNIT_ASSERT_EQUAL(std::string("tile"), tokens[0]); + CPPUNIT_ASSERT_EQUAL(std::string("part=0"), tokens[1]); + CPPUNIT_ASSERT_EQUAL(std::string("width=256"), tokens[2]); + CPPUNIT_ASSERT_EQUAL(std::string("height=256"), tokens[3]); + CPPUNIT_ASSERT_EQUAL(std::string("tileposx=0"), tokens[4]); + CPPUNIT_ASSERT_EQUAL(std::string("tileposy=0"), tokens[5]); + CPPUNIT_ASSERT_EQUAL(std::string("tilewidth=3840"), tokens[6]); + CPPUNIT_ASSERT_EQUAL(std::string("tileheight=3840"), tokens[7]); + CPPUNIT_ASSERT_EQUAL(std::string("ver=-1"), tokens[8]); +} + void WhiteBoxTests::testRegexListMatcher() { Util::RegexListMatcher matcher; |