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

Side by Side Diff: tools/json_schema_compiler/test/choices_unittest.cc

Issue 10701012: JSON Schema Compiler: Added event compilation. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Tested GetAllPossibleParameterLists better. Created 8 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "tools/json_schema_compiler/test/choices.h" 5 #include "tools/json_schema_compiler/test/choices.h"
6 6
7 #include "chrome/common/extensions/value_builder.h"
7 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
8 9
9 using namespace test::api::choices; 10 using namespace test::api::choices;
11 using namespace extensions;
10 12
11 TEST(JsonSchemaCompilerChoicesTest, TakesIntegersParamsCreate) { 13 TEST(JsonSchemaCompilerChoicesTest, TakesIntegersParamsCreate) {
12 { 14 {
13 scoped_ptr<ListValue> params_value(new ListValue()); 15 scoped_ptr<ListValue> params_value(
14 params_value->Append(Value::CreateBooleanValue(true)); 16 ListBuilder().AppendBoolean(true).Build());
15 scoped_ptr<TakesIntegers::Params> params( 17 scoped_ptr<TakesIntegers::Params> params(
16 TakesIntegers::Params::Create(*params_value)); 18 TakesIntegers::Params::Create(*params_value));
17 EXPECT_FALSE(params.get()); 19 EXPECT_FALSE(params.get());
18 } 20 }
19 { 21 {
20 scoped_ptr<ListValue> params_value(new ListValue()); 22 scoped_ptr<ListValue> params_value(ListBuilder().Append(6).Build());
21 params_value->Append(Value::CreateIntegerValue(6));
22 scoped_ptr<TakesIntegers::Params> params( 23 scoped_ptr<TakesIntegers::Params> params(
23 TakesIntegers::Params::Create(*params_value)); 24 TakesIntegers::Params::Create(*params_value));
24 EXPECT_TRUE(params.get()); 25 EXPECT_TRUE(params.get());
25 EXPECT_EQ(TakesIntegers::Params::NUMS_INTEGER, params->nums_type); 26 EXPECT_EQ(TakesIntegers::Params::NUMS_INTEGER, params->nums_type);
26 EXPECT_FALSE(params->nums_array.get()); 27 EXPECT_FALSE(params->nums_array.get());
27 EXPECT_EQ(6, *params->nums_integer); 28 EXPECT_EQ(6, *params->nums_integer);
28 } 29 }
29 { 30 {
30 scoped_ptr<ListValue> params_value(new ListValue()); 31 scoped_ptr<ListValue> params_value(ListBuilder().Append(
31 scoped_ptr<ListValue> integers(new ListValue()); 32 ListBuilder().Append(6).Append(8)).Build());
32 integers->Append(Value::CreateIntegerValue(6));
33 integers->Append(Value::CreateIntegerValue(8));
34 params_value->Append(integers.release());
35 scoped_ptr<TakesIntegers::Params> params( 33 scoped_ptr<TakesIntegers::Params> params(
36 TakesIntegers::Params::Create(*params_value)); 34 TakesIntegers::Params::Create(*params_value));
37 EXPECT_TRUE(params.get()); 35 EXPECT_TRUE(params.get());
38 EXPECT_EQ(TakesIntegers::Params::NUMS_ARRAY, params->nums_type); 36 EXPECT_EQ(TakesIntegers::Params::NUMS_ARRAY, params->nums_type);
39 EXPECT_EQ((size_t) 2, (*params->nums_array).size()); 37 EXPECT_EQ((size_t) 2, (*params->nums_array).size());
40 EXPECT_EQ(6, (*params->nums_array)[0]); 38 EXPECT_EQ(6, (*params->nums_array)[0]);
41 EXPECT_EQ(8, (*params->nums_array)[1]); 39 EXPECT_EQ(8, (*params->nums_array)[1]);
42 } 40 }
43 } 41 }
44 42
45 TEST(JsonSchemaCompilerChoicesTest, ObjectWithChoicesParamsCreate) { 43 TEST(JsonSchemaCompilerChoicesTest, ObjectWithChoicesParamsCreate) {
46 { 44 {
47 scoped_ptr<DictionaryValue> object_param(new DictionaryValue()); 45 scoped_ptr<ListValue> params_value(
48 object_param->SetWithoutPathExpansion("strings", 46 ListBuilder().Append(DictionaryBuilder().Set("strings", "asdf"))
49 Value::CreateStringValue("asdf")); 47 .Build());
50 scoped_ptr<ListValue> params_value(new ListValue());
51 params_value->Append(object_param.release());
52 scoped_ptr<ObjectWithChoices::Params> params( 48 scoped_ptr<ObjectWithChoices::Params> params(
53 ObjectWithChoices::Params::Create(*params_value)); 49 ObjectWithChoices::Params::Create(*params_value));
54 EXPECT_TRUE(params.get()); 50 EXPECT_TRUE(params.get());
55 EXPECT_EQ(ObjectWithChoices::Params::StringInfo::STRINGS_STRING, 51 EXPECT_EQ(ObjectWithChoices::Params::StringInfo::STRINGS_STRING,
56 params->string_info.strings_type); 52 params->string_info.strings_type);
57 EXPECT_EQ("asdf", *params->string_info.strings_string); 53 EXPECT_EQ("asdf", *params->string_info.strings_string);
58 } 54 }
59 { 55 {
60 scoped_ptr<DictionaryValue> object_param(new DictionaryValue()); 56 scoped_ptr<ListValue> params_value(
61 object_param->SetWithoutPathExpansion("strings", 57 ListBuilder().Append(DictionaryBuilder().Set("strings", "asdf")
62 Value::CreateStringValue("asdf")); 58 .Set("integers", 6)).Build());
63 object_param->SetWithoutPathExpansion("integers",
64 Value::CreateIntegerValue(6));
65 scoped_ptr<ListValue> params_value(new ListValue());
66 params_value->Append(object_param.release());
67 scoped_ptr<ObjectWithChoices::Params> params( 59 scoped_ptr<ObjectWithChoices::Params> params(
68 ObjectWithChoices::Params::Create(*params_value)); 60 ObjectWithChoices::Params::Create(*params_value));
69 EXPECT_TRUE(params.get()); 61 EXPECT_TRUE(params.get());
70 EXPECT_EQ(ObjectWithChoices::Params::StringInfo::STRINGS_STRING, 62 EXPECT_EQ(ObjectWithChoices::Params::StringInfo::STRINGS_STRING,
71 params->string_info.strings_type); 63 params->string_info.strings_type);
72 EXPECT_EQ("asdf", *params->string_info.strings_string); 64 EXPECT_EQ("asdf", *params->string_info.strings_string);
73 EXPECT_EQ(ObjectWithChoices::Params::StringInfo::INTEGERS_INTEGER, 65 EXPECT_EQ(ObjectWithChoices::Params::StringInfo::INTEGERS_INTEGER,
74 params->string_info.integers_type); 66 params->string_info.integers_type);
75 EXPECT_EQ(6, *params->string_info.integers_integer); 67 EXPECT_EQ(6, *params->string_info.integers_integer);
76 } 68 }
77 } 69 }
78 70
79 TEST(JsonSchemaCompilerChoicesTest, ObjectWithChoicesParamsCreateFail) { 71 TEST(JsonSchemaCompilerChoicesTest, ObjectWithChoicesParamsCreateFail) {
80 { 72 {
81 scoped_ptr<DictionaryValue> object_param(new DictionaryValue()); 73 scoped_ptr<ListValue> params_value(
82 object_param->SetWithoutPathExpansion("strings", 74 ListBuilder().Append(DictionaryBuilder().Set("strings", 5)).Build());
83 Value::CreateIntegerValue(5));
84 scoped_ptr<ListValue> params_value(new ListValue());
85 params_value->Append(object_param.release());
86 scoped_ptr<ObjectWithChoices::Params> params( 75 scoped_ptr<ObjectWithChoices::Params> params(
87 ObjectWithChoices::Params::Create(*params_value)); 76 ObjectWithChoices::Params::Create(*params_value));
88 EXPECT_FALSE(params.get()); 77 EXPECT_FALSE(params.get());
89 } 78 }
90 { 79 {
91 scoped_ptr<DictionaryValue> object_param(new DictionaryValue()); 80 scoped_ptr<ListValue> params_value(ListBuilder().Append(
92 object_param->SetWithoutPathExpansion("strings", 81 DictionaryBuilder().Set("strings", "asdf")
93 Value::CreateStringValue("asdf")); 82 .Set("integers", "asdf")).Build());
94 object_param->SetWithoutPathExpansion("integers",
95 Value::CreateStringValue("asdf"));
96 scoped_ptr<ListValue> params_value(new ListValue());
97 params_value->Append(object_param.release());
98 scoped_ptr<ObjectWithChoices::Params> params( 83 scoped_ptr<ObjectWithChoices::Params> params(
99 ObjectWithChoices::Params::Create(*params_value)); 84 ObjectWithChoices::Params::Create(*params_value));
100 EXPECT_FALSE(params.get()); 85 EXPECT_FALSE(params.get());
101 } 86 }
102 { 87 {
103 scoped_ptr<DictionaryValue> object_param(new DictionaryValue()); 88 scoped_ptr<ListValue> params_value(
104 object_param->SetWithoutPathExpansion("integers", 89 ListBuilder().Append(DictionaryBuilder().Set("integers", 6)).Build());
105 Value::CreateIntegerValue(6));
106 scoped_ptr<ListValue> params_value(new ListValue());
107 params_value->Append(object_param.release());
108 scoped_ptr<ObjectWithChoices::Params> params( 90 scoped_ptr<ObjectWithChoices::Params> params(
109 ObjectWithChoices::Params::Create(*params_value)); 91 ObjectWithChoices::Params::Create(*params_value));
110 EXPECT_FALSE(params.get()); 92 EXPECT_FALSE(params.get());
111 } 93 }
112 } 94 }
113 95
114 TEST(JsonSchemaCompilerChoicesTest, ReturnChoices) { 96 TEST(JsonSchemaCompilerChoicesTest, ReturnChoices) {
115 { 97 {
116 std::vector<int> integers; 98 std::vector<int> integers;
117 integers.push_back(1); 99 integers.push_back(1);
118 integers.push_back(2); 100 integers.push_back(2);
119 scoped_ptr<Value> array_result(ReturnChoices::Result::Create(integers)); 101 scoped_ptr<ListValue> array_results(
120 ListValue* list = NULL; 102 ReturnChoices::Result::Create(integers));
121 EXPECT_TRUE(array_result->GetAsList(&list)); 103
122 EXPECT_EQ((size_t) 2, list->GetSize()); 104 scoped_ptr<ListValue> expected(ListBuilder().Append(
123 int temp; 105 ListBuilder().Append(1).Append(2)).Build());
124 EXPECT_TRUE(list->GetInteger(0, &temp)); 106 EXPECT_TRUE(array_results->Equals(expected.get()));
125 EXPECT_EQ(1, temp);
126 EXPECT_TRUE(list->GetInteger(1, &temp));
127 EXPECT_EQ(2, temp);
128 } 107 }
129 { 108 {
130 scoped_ptr<Value> single_result(ReturnChoices::Result::Create(5)); 109 scoped_ptr<ListValue> integer_results(ReturnChoices::Result::Create(5));
131 int temp; 110 scoped_ptr<ListValue> expected(ListBuilder().Append(5).Build());
132 EXPECT_TRUE(single_result->GetAsInteger(&temp)); 111 EXPECT_TRUE(integer_results->Equals(expected.get()));
133 EXPECT_EQ(5, temp);
134 } 112 }
135 } 113 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698