summaryrefslogtreecommitdiff
path: root/test/core/common/VariantReaderTest.cpp
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-01-18 15:30:18 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-01-18 15:30:18 +0100
commit8ab0709045667f8e1a67a9981c619980c9aebd1a (patch)
treef39812b3d216566de7c4dcdaacc7c607aa7e646c /test/core/common/VariantReaderTest.cpp
parentcd55519130c5f91d95107b3b1e1a8203caa5008a (diff)
parent372c67e0844654362fc7d440b0b4a31500a6d02a (diff)
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'test/core/common/VariantReaderTest.cpp')
-rw-r--r--test/core/common/VariantReaderTest.cpp36
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]; []");