diff options
author | rouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad> | 2014-05-21 12:45:07 +0000 |
---|---|---|
committer | rouslan@chromium.org <rouslan@chromium.org@38ededc0-08b8-5190-f2ac-b31f878777ad> | 2014-05-21 12:45:07 +0000 |
commit | 7825966d9566c8ced01471f1e6e6bf1e715f6572 (patch) | |
tree | 92b64a9260a8cfb396896622559210d06d86810b /cpp/test/util | |
parent | bf030e4c78d86bd72699e6d06d645ebb130bf8e4 (diff) | |
download | src-7825966d9566c8ced01471f1e6e6bf1e715f6572.tar.gz |
Enable retrieving a list of keys from JSON.
TBR=roubert@google.com
Review URL: https://codereview.appspot.com/92520046
git-svn-id: http://libaddressinput.googlecode.com/svn/trunk@229 38ededc0-08b8-5190-f2ac-b31f878777ad
Diffstat (limited to 'cpp/test/util')
-rw-r--r-- | cpp/test/util/json_test.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/cpp/test/util/json_test.cc b/cpp/test/util/json_test.cc index c159d96..f6eb389 100644 --- a/cpp/test/util/json_test.cc +++ b/cpp/test/util/json_test.cc @@ -15,6 +15,7 @@ #include "util/json.h" #include <string> +#include <vector> #include <gtest/gtest.h> @@ -112,17 +113,29 @@ TEST(JsonTest, NumberIsNotValid) { TEST(JsonTest, NoDictionaryFound) { Json json; - EXPECT_TRUE(json.ParseObject("{\"key\":\"value\"}")); + ASSERT_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.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")); } +TEST(JsonTest, DictionariesHaveKeys) { + Json json; + ASSERT_TRUE(json.ParseObject("{\"key\":{\"inner_key\":\"value\"}}")); + std::vector<std::string> expected_keys(1, "key"); + EXPECT_EQ(expected_keys, json.GetKeys()); + + ASSERT_TRUE(json.HasDictionaryValueForKey("key")); + const Json& sub_json = json.GetDictionaryValueForKey("key"); + std::vector<std::string> expected_sub_keys(1, "inner_key"); + EXPECT_EQ(expected_sub_keys, sub_json.GetKeys()); +} + } // namespace |