diff options
author | rouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad> | 2014-05-20 11:55:28 +0000 |
---|---|---|
committer | rouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad> | 2014-05-20 11:55:28 +0000 |
commit | fdec8caccd397f611865f902b4910e4776da0aec (patch) | |
tree | 7fdb4a4b3f58cdf5064f4cf8bcf62b00d5f568aa /cpp/test | |
parent | 53fa529bef8371399def4e2566a40f5469addae7 (diff) | |
download | src-fdec8caccd397f611865f902b4910e4776da0aec.tar.gz |
Nested dictionaries for parsing aggregate data.
R=roubert@google.com
Review URL: https://codereview.appspot.com/97580043
git-svn-id: http://libaddressinput.googlecode.com/svn/trunk@223 38ededc0-08b8-5190-f2ac-b31f878777ad
Diffstat (limited to 'cpp/test')
-rw-r--r-- | cpp/test/util/json_test.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/test/util/json_test.cc b/cpp/test/util/json_test.cc index b701ef1..c159d96 100644 --- a/cpp/test/util/json_test.cc +++ b/cpp/test/util/json_test.cc @@ -21,6 +21,7 @@ namespace { using i18n::addressinput::Json; +using i18n::addressinput::scoped_ptr; TEST(JsonTest, EmptyStringIsNotValid) { Json json; @@ -109,4 +110,19 @@ TEST(JsonTest, NumberIsNotValid) { EXPECT_FALSE(json.ParseObject("3")); } +TEST(JsonTest, NoDictionaryFound) { + Json json; + EXPECT_TRUE(json.ParseObject("{\"key\":\"value\"}")); + EXPECT_FALSE(json.HasDictionaryValueForKey("key")); +} + +TEST(JsonTest, DictionaryFound) { + Json json; + EXPECT_TRUE(json.ParseObject("{\"key\":{\"inner_key\":\"value\"}}")); + ASSERT_TRUE(json.HasDictionaryValueForKey("key")); + const Json& sub_json = json.GetDictionaryValueForKey("key"); + ASSERT_TRUE(sub_json.HasStringValueForKey("inner_key")); + EXPECT_EQ("value", sub_json.GetStringValueForKey("inner_key")); +} + } // namespace |