diff options
| author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-01-18 15:30:18 +0100 | 
|---|---|---|
| committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-01-18 15:30:18 +0100 | 
| commit | 8ab0709045667f8e1a67a9981c619980c9aebd1a (patch) | |
| tree | f39812b3d216566de7c4dcdaacc7c607aa7e646c /test/core/common | |
| parent | cd55519130c5f91d95107b3b1e1a8203caa5008a (diff) | |
| parent | 372c67e0844654362fc7d440b0b4a31500a6d02a (diff) | |
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'test/core/common')
| -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]; []");  | 
