diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-18 13:45:28 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-18 13:45:28 +0100 |
commit | 5c832e5cc0d2ff948816bd4a492189435efa8578 (patch) | |
tree | 5bebf471d3aae5140e26dd7f58485ac6f244141e /test | |
parent | f723034fe9769ac4e482194b96d59be8e6ad0b11 (diff) |
added test for VariantReader::parseGenericString
Diffstat (limited to 'test')
-rw-r--r-- | test/core/common/VariantReaderTest.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/core/common/VariantReaderTest.cpp b/test/core/common/VariantReaderTest.cpp index 3ab38b9..9a9b694 100644 --- a/test/core/common/VariantReaderTest.cpp +++ b/test/core/common/VariantReaderTest.cpp @@ -762,6 +762,42 @@ TEST(VariantReader, parseGeneric) } } +TEST(VariantReader, parseGenericString) +{ + // Simple case, unescaped string + { + auto res = VariantReader::parseGenericString("foo", logger); + ASSERT_TRUE(res.first); + ASSERT_TRUE(res.second.isMagic()); + ASSERT_EQ("foo", res.second.asMagic()); + } + + // Simple case, unescaped string with space + { + auto res = VariantReader::parseGenericString("foo bar", logger); + ASSERT_TRUE(res.first); + ASSERT_FALSE(res.second.isMagic()); + ASSERT_TRUE(res.second.isString()); + ASSERT_EQ("foo bar", res.second.asString()); + } + + // Parse double + { + auto res = VariantReader::parseGenericString("12.3", logger); + ASSERT_TRUE(res.first); + ASSERT_TRUE(res.second.isDouble()); + ASSERT_EQ(12.3, res.second.asDouble()); + } + + // Parse string + { + auto res = VariantReader::parseGenericString("6 times 7 is 42", logger); + ASSERT_TRUE(res.first); + ASSERT_TRUE(res.second.isString()); + ASSERT_EQ("6 times 7 is 42", res.second.asString()); + } +} + TEST(VariantReader, parseGenericComplex) { CharReader reader("10 true [1, 2] [] [foo=bar,h]; []"); |