Index: runtime/vm/json_test.cc |
diff --git a/runtime/vm/json_test.cc b/runtime/vm/json_test.cc |
index efe7a67480d467c7cbd075b9570480a51d48bfdf..b37024b52dfed5cb220bf44cda768bd927e53f04 100644 |
--- a/runtime/vm/json_test.cc |
+++ b/runtime/vm/json_test.cc |
@@ -312,4 +312,25 @@ TEST_CASE(JSON_JSONStream_EscapedString) { |
} |
+TEST_CASE(JSON_JSONStream_Options) { |
+ const char* arguments[] = {"a", "b", "c"}; |
+ const char* option_keys[] = {"dog", "cat"}; |
+ const char* option_values[] = {"apple", "banana"}; |
+ |
+ JSONStream js; |
+ EXPECT(js.num_arguments() == 0); |
+ js.SetArguments(&arguments[0], 3); |
+ EXPECT(js.num_arguments() == 3); |
+ EXPECT_STREQ("a", js.command()); |
+ |
+ EXPECT(js.num_options() == 0); |
+ js.SetOptions(&option_keys[0], &option_values[0], 3); |
+ EXPECT(js.num_options() == 3); |
+ EXPECT(!js.HasOption("lizard")); |
+ EXPECT(js.HasOption("dog")); |
+ EXPECT(js.HasOption("cat")); |
+ EXPECT(js.OptionIs("cat", "banana")); |
+ EXPECT(!js.OptionIs("dog", "banana")); |
+} |
+ |
} // namespace dart |