Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Unified Diff: tools/json_schema_compiler/test/choices_unittest.cc

Issue 682493002: Remove the dependency on json schema compiler. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/json_schema_compiler/test/choices.json ('k') | tools/json_schema_compiler/test/content_settings.json » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/json_schema_compiler/test/choices_unittest.cc
diff --git a/tools/json_schema_compiler/test/choices_unittest.cc b/tools/json_schema_compiler/test/choices_unittest.cc
deleted file mode 100644
index 2cf1d8d358f79ef75ef79e168cbed8d8c95ef633..0000000000000000000000000000000000000000
--- a/tools/json_schema_compiler/test/choices_unittest.cc
+++ /dev/null
@@ -1,292 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "tools/json_schema_compiler/test/choices.h"
-
-#include "base/strings/string_piece.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "tools/json_schema_compiler/test/test_util.h"
-
-namespace {
-
-using namespace test::api::choices;
-using json_schema_compiler::test_util::Dictionary;
-using json_schema_compiler::test_util::List;
-using json_schema_compiler::test_util::ReadJson;
-using json_schema_compiler::test_util::Vector;
-
-TEST(JsonSchemaCompilerChoicesTest, TakesIntegersParamsCreate) {
- {
- scoped_ptr<TakesIntegers::Params> params(
- TakesIntegers::Params::Create(*List(new base::FundamentalValue(true))));
- EXPECT_FALSE(params);
- }
- {
- scoped_ptr<TakesIntegers::Params> params(
- TakesIntegers::Params::Create(*List(new base::FundamentalValue(6))));
- ASSERT_TRUE(params);
- EXPECT_FALSE(params->nums.as_integers);
- EXPECT_EQ(6, *params->nums.as_integer);
- }
- {
- scoped_ptr<TakesIntegers::Params> params(TakesIntegers::Params::Create(
- *List(List(new base::FundamentalValue(2),
- new base::FundamentalValue(6),
- new base::FundamentalValue(8)).release())));
- ASSERT_TRUE(params);
- ASSERT_TRUE(params->nums.as_integers);
- EXPECT_EQ(Vector(2, 6, 8), *params->nums.as_integers);
- }
-}
-
-TEST(JsonSchemaCompilerChoicesTest, ObjectWithChoicesParamsCreate) {
- {
- scoped_ptr<ObjectWithChoices::Params> params(
- ObjectWithChoices::Params::Create(*List(
- Dictionary("strings", new base::StringValue("asdf")).release())));
- ASSERT_TRUE(params);
- EXPECT_FALSE(params->string_info.strings.as_strings);
- EXPECT_EQ("asdf", *params->string_info.strings.as_string);
- EXPECT_FALSE(params->string_info.integers);
- }
- {
- scoped_ptr<ObjectWithChoices::Params> params(
- ObjectWithChoices::Params::Create(*List(
- Dictionary("strings", new base::StringValue("asdf"),
- "integers", new base::FundamentalValue(6)).release())));
- ASSERT_TRUE(params);
- EXPECT_FALSE(params->string_info.strings.as_strings);
- EXPECT_EQ("asdf", *params->string_info.strings.as_string);
- ASSERT_TRUE(params->string_info.integers);
- EXPECT_FALSE(params->string_info.integers->as_integers);
- EXPECT_EQ(6, *params->string_info.integers->as_integer);
- }
-}
-
-// TODO(kalman): Clean up the rest of these tests to use the
-// Vector/List/Dictionary helpers.
-
-TEST(JsonSchemaCompilerChoicesTest, ObjectWithChoicesParamsCreateFail) {
- {
- scoped_ptr<base::DictionaryValue> object_param(new base::DictionaryValue());
- object_param->SetWithoutPathExpansion("strings",
- new base::FundamentalValue(5));
- scoped_ptr<base::ListValue> params_value(new base::ListValue());
- params_value->Append(object_param.release());
- scoped_ptr<ObjectWithChoices::Params> params(
- ObjectWithChoices::Params::Create(*params_value));
- EXPECT_FALSE(params.get());
- }
- {
- scoped_ptr<base::DictionaryValue> object_param(new base::DictionaryValue());
- object_param->SetWithoutPathExpansion("strings",
- new base::StringValue("asdf"));
- object_param->SetWithoutPathExpansion("integers",
- new base::StringValue("asdf"));
- scoped_ptr<base::ListValue> params_value(new base::ListValue());
- params_value->Append(object_param.release());
- scoped_ptr<ObjectWithChoices::Params> params(
- ObjectWithChoices::Params::Create(*params_value));
- EXPECT_FALSE(params.get());
- }
- {
- scoped_ptr<base::DictionaryValue> object_param(new base::DictionaryValue());
- object_param->SetWithoutPathExpansion("integers",
- new base::FundamentalValue(6));
- scoped_ptr<base::ListValue> params_value(new base::ListValue());
- params_value->Append(object_param.release());
- scoped_ptr<ObjectWithChoices::Params> params(
- ObjectWithChoices::Params::Create(*params_value));
- EXPECT_FALSE(params.get());
- }
-}
-
-TEST(JsonSchemaCompilerChoicesTest, PopulateChoiceType) {
- std::vector<std::string> strings = Vector(std::string("list"),
- std::string("of"),
- std::string("strings"));
-
- base::ListValue* strings_value = new base::ListValue();
- for (size_t i = 0; i < strings.size(); ++i)
- strings_value->Append(new base::StringValue(strings[i]));
-
- base::DictionaryValue value;
- value.SetInteger("integers", 4);
- value.Set("strings", strings_value);
-
- ChoiceType out;
- ASSERT_TRUE(ChoiceType::Populate(value, &out));
- ASSERT_TRUE(out.integers.as_integer.get());
- EXPECT_FALSE(out.integers.as_integers.get());
- EXPECT_EQ(4, *out.integers.as_integer);
-
- EXPECT_FALSE(out.strings->as_string.get());
- ASSERT_TRUE(out.strings->as_strings.get());
- EXPECT_EQ(strings, *out.strings->as_strings);
-}
-
-TEST(JsonSchemaCompilerChoicesTest, ChoiceTypeToValue) {
- base::ListValue* strings_value = new base::ListValue();
- strings_value->Append(new base::StringValue("list"));
- strings_value->Append(new base::StringValue("of"));
- strings_value->Append(new base::StringValue("strings"));
-
- base::DictionaryValue value;
- value.SetInteger("integers", 5);
- value.Set("strings", strings_value);
-
- ChoiceType out;
- ASSERT_TRUE(ChoiceType::Populate(value, &out));
-
- EXPECT_TRUE(value.Equals(out.ToValue().get()));
-}
-
-TEST(JsonSchemaCompilerChoicesTest, ReturnChoices) {
- {
- ReturnChoices::Results::Result results;
- results.as_integers.reset(new std::vector<int>(Vector(1, 2)));
-
- scoped_ptr<base::Value> results_value = results.ToValue();
- ASSERT_TRUE(results_value);
-
- base::ListValue expected;
- expected.AppendInteger(1);
- expected.AppendInteger(2);
-
- EXPECT_TRUE(expected.Equals(results_value.get()));
- }
- {
- ReturnChoices::Results::Result results;
- results.as_integer.reset(new int(5));
-
- scoped_ptr<base::Value> results_value = results.ToValue();
- ASSERT_TRUE(results_value);
-
- base::FundamentalValue expected(5);
-
- EXPECT_TRUE(expected.Equals(results_value.get()));
- }
-}
-
-TEST(JsonSchemaCompilerChoicesTest, NestedChoices) {
- // These test both ToValue and FromValue for every legitimate configuration of
- // NestedChoices.
- {
- // The plain integer choice.
- scoped_ptr<base::Value> value = ReadJson("42");
- scoped_ptr<NestedChoice> obj = NestedChoice::FromValue(*value);
-
- ASSERT_TRUE(obj);
- ASSERT_TRUE(obj->as_integer);
- EXPECT_FALSE(obj->as_choice1);
- EXPECT_FALSE(obj->as_choice2);
- EXPECT_EQ(42, *obj->as_integer);
-
- EXPECT_TRUE(base::Value::Equals(value.get(), obj->ToValue().get()));
- }
-
- {
- // The string choice within the first choice.
- scoped_ptr<base::Value> value = ReadJson("\"foo\"");
- scoped_ptr<NestedChoice> obj = NestedChoice::FromValue(*value);
-
- ASSERT_TRUE(obj);
- EXPECT_FALSE(obj->as_integer);
- ASSERT_TRUE(obj->as_choice1);
- EXPECT_FALSE(obj->as_choice2);
- ASSERT_TRUE(obj->as_choice1->as_string);
- EXPECT_FALSE(obj->as_choice1->as_boolean);
- EXPECT_EQ("foo", *obj->as_choice1->as_string);
-
- EXPECT_TRUE(base::Value::Equals(value.get(), obj->ToValue().get()));
- }
-
- {
- // The boolean choice within the first choice.
- scoped_ptr<base::Value> value = ReadJson("true");
- scoped_ptr<NestedChoice> obj = NestedChoice::FromValue(*value);
-
- ASSERT_TRUE(obj);
- EXPECT_FALSE(obj->as_integer);
- ASSERT_TRUE(obj->as_choice1);
- EXPECT_FALSE(obj->as_choice2);
- EXPECT_FALSE(obj->as_choice1->as_string);
- ASSERT_TRUE(obj->as_choice1->as_boolean);
- EXPECT_TRUE(*obj->as_choice1->as_boolean);
-
- EXPECT_TRUE(base::Value::Equals(value.get(), obj->ToValue().get()));
- }
-
- {
- // The double choice within the second choice.
- scoped_ptr<base::Value> value = ReadJson("42.0");
- scoped_ptr<NestedChoice> obj = NestedChoice::FromValue(*value);
-
- ASSERT_TRUE(obj);
- EXPECT_FALSE(obj->as_integer);
- EXPECT_FALSE(obj->as_choice1);
- ASSERT_TRUE(obj->as_choice2);
- ASSERT_TRUE(obj->as_choice2->as_double);
- EXPECT_FALSE(obj->as_choice2->as_choice_type);
- EXPECT_FALSE(obj->as_choice2->as_choice_types);
- EXPECT_EQ(42.0, *obj->as_choice2->as_double);
-
- EXPECT_TRUE(base::Value::Equals(value.get(), obj->ToValue().get()));
- }
-
- {
- // The ChoiceType choice within the second choice.
- scoped_ptr<base::Value> value = ReadJson(
- "{\"integers\": [1, 2], \"strings\": \"foo\"}");
- scoped_ptr<NestedChoice> obj = NestedChoice::FromValue(*value);
-
- ASSERT_TRUE(obj);
- EXPECT_FALSE(obj->as_integer);
- EXPECT_FALSE(obj->as_choice1);
- ASSERT_TRUE(obj->as_choice2);
- EXPECT_FALSE(obj->as_choice2->as_double);
- ASSERT_TRUE(obj->as_choice2->as_choice_type);
- EXPECT_FALSE(obj->as_choice2->as_choice_types);
- {
- ChoiceType* choice_type = obj->as_choice2->as_choice_type.get();
- ASSERT_TRUE(choice_type->integers.as_integers);
- EXPECT_FALSE(choice_type->integers.as_integer);
- EXPECT_EQ(Vector(1, 2), *choice_type->integers.as_integers);
- ASSERT_TRUE(choice_type->strings);
- EXPECT_FALSE(choice_type->strings->as_strings);
- ASSERT_TRUE(choice_type->strings->as_string);
- EXPECT_EQ("foo", *choice_type->strings->as_string);
- }
-
- EXPECT_TRUE(base::Value::Equals(value.get(), obj->ToValue().get()));
- }
-
- {
- // The array of ChoiceTypes within the second choice.
- scoped_ptr<base::Value> value = ReadJson(
- "["
- " {\"integers\": [1, 2], \"strings\": \"foo\"},"
- " {\"integers\": 3, \"strings\": [\"bar\", \"baz\"]}"
- "]");
- scoped_ptr<NestedChoice> obj = NestedChoice::FromValue(*value);
-
- ASSERT_TRUE(obj);
- EXPECT_FALSE(obj->as_integer);
- EXPECT_FALSE(obj->as_choice1);
- ASSERT_TRUE(obj->as_choice2);
- EXPECT_FALSE(obj->as_choice2->as_double);
- EXPECT_FALSE(obj->as_choice2->as_choice_type);
- ASSERT_TRUE(obj->as_choice2->as_choice_types);
- {
- std::vector<linked_ptr<ChoiceType> >* choice_types =
- obj->as_choice2->as_choice_types.get();
- // Bleh too much effort to test everything.
- ASSERT_EQ(2u, choice_types->size());
- }
-
- EXPECT_TRUE(base::Value::Equals(value.get(), obj->ToValue().get()));
- }
-}
-
-} // namespace
« no previous file with comments | « tools/json_schema_compiler/test/choices.json ('k') | tools/json_schema_compiler/test/content_settings.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698