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

Side by Side Diff: tools/json_schema_compiler/test/enums_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/enums.h" 5 #include "tools/json_schema_compiler/test/enums.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::enums; 10 using namespace test::api::enums;
11 using namespace extensions;
10 12
11 TEST(JsonSchemaCompilerEnumsTest, EnumTypePopulate) { 13 TEST(JsonSchemaCompilerEnumsTest, EnumTypePopulate) {
12 { 14 {
13 scoped_ptr<EnumType> enum_type(new EnumType()); 15 scoped_ptr<EnumType> enum_type(new EnumType());
14 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 16 scoped_ptr<DictionaryValue> value(
15 value->Set("type", Value::CreateStringValue("one")); 17 DictionaryBuilder().Set("type", "one").Build());
16 EXPECT_TRUE(EnumType::Populate(*value, enum_type.get())); 18 EXPECT_TRUE(EnumType::Populate(*value, enum_type.get()));
17 EXPECT_EQ(EnumType::TYPE_ONE, enum_type->type); 19 EXPECT_EQ(EnumType::TYPE_ONE, enum_type->type);
18 EXPECT_TRUE(value->Equals(enum_type->ToValue().get())); 20 EXPECT_TRUE(value->Equals(enum_type->ToValue().get()));
19 } 21 }
20 { 22 {
21 scoped_ptr<EnumType> enum_type(new EnumType()); 23 scoped_ptr<EnumType> enum_type(new EnumType());
22 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 24 scoped_ptr<DictionaryValue> value(
23 value->Set("type", Value::CreateStringValue("invalid")); 25 DictionaryBuilder().Set("type", "invalid").Build());
24 EXPECT_FALSE(EnumType::Populate(*value, enum_type.get())); 26 EXPECT_FALSE(EnumType::Populate(*value, enum_type.get()));
25 } 27 }
26 } 28 }
27 29
30 TEST(JsonSchemaCompilerEnumsTest, ReturnsEnumCreate) {
31 {
32 ReturnsEnum::Result::State state = ReturnsEnum::Result::STATE_FOO;
33 scoped_ptr<Value> result(ReturnsEnum::Result::CreateEnumValue(state));
34 scoped_ptr<Value> expected(Value::CreateStringValue("foo"));
35 EXPECT_TRUE(result->Equals(expected.get()));
36 }
37 {
38 ReturnsEnum::Result::State state = ReturnsEnum::Result::STATE_FOO;
39 scoped_ptr<ListValue> results(ReturnsEnum::Result::Create(state));
40 ListValue expected;
41 expected.Append(Value::CreateStringValue("foo"));
42 EXPECT_TRUE(results->Equals(&expected));
43 }
44 }
45
46 TEST(JsonSchemaCompilerEnumsTest, ReturnsTwoEnumsCreate) {
47 {
48 scoped_ptr<ListValue> results(ReturnsTwoEnums::Result::Create(
49 ReturnsTwoEnums::Result::FIRST_STATE_FOO,
50 ReturnsTwoEnums::Result::SECOND_STATE_HAM));
51 ListValue expected;
52 expected.Append(Value::CreateStringValue("foo"));
53 expected.Append(Value::CreateStringValue("ham"));
54 EXPECT_TRUE(results->Equals(&expected));
55 }
56 }
57
28 TEST(JsonSchemaCompilerEnumsTest, OptionalEnumTypePopulate) { 58 TEST(JsonSchemaCompilerEnumsTest, OptionalEnumTypePopulate) {
29 { 59 {
30 scoped_ptr<OptionalEnumType> enum_type(new OptionalEnumType()); 60 scoped_ptr<OptionalEnumType> enum_type(new OptionalEnumType());
31 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 61 scoped_ptr<DictionaryValue> value(
32 value->Set("type", Value::CreateStringValue("two")); 62 DictionaryBuilder().Set("type", "two").Build());
33 EXPECT_TRUE(OptionalEnumType::Populate(*value, enum_type.get())); 63 EXPECT_TRUE(OptionalEnumType::Populate(*value, enum_type.get()));
34 EXPECT_EQ(OptionalEnumType::TYPE_TWO, enum_type->type); 64 EXPECT_EQ(OptionalEnumType::TYPE_TWO, enum_type->type);
35 EXPECT_TRUE(value->Equals(enum_type->ToValue().get())); 65 EXPECT_TRUE(value->Equals(enum_type->ToValue().get()));
36 } 66 }
37 { 67 {
38 scoped_ptr<OptionalEnumType> enum_type(new OptionalEnumType()); 68 scoped_ptr<OptionalEnumType> enum_type(new OptionalEnumType());
39 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 69 scoped_ptr<DictionaryValue> value(new DictionaryValue());
40 EXPECT_TRUE(OptionalEnumType::Populate(*value, enum_type.get())); 70 EXPECT_TRUE(OptionalEnumType::Populate(*value, enum_type.get()));
41 EXPECT_EQ(OptionalEnumType::TYPE_NONE, enum_type->type); 71 EXPECT_EQ(OptionalEnumType::TYPE_NONE, enum_type->type);
42 EXPECT_TRUE(value->Equals(enum_type->ToValue().get())); 72 EXPECT_TRUE(value->Equals(enum_type->ToValue().get()));
43 } 73 }
44 { 74 {
45 scoped_ptr<OptionalEnumType> enum_type(new OptionalEnumType()); 75 scoped_ptr<OptionalEnumType> enum_type(new OptionalEnumType());
46 scoped_ptr<DictionaryValue> value(new DictionaryValue()); 76 scoped_ptr<DictionaryValue> value(
47 value->Set("type", Value::CreateStringValue("invalid")); 77 DictionaryBuilder().Set("type", "invalid").Build());
48 EXPECT_FALSE(OptionalEnumType::Populate(*value, enum_type.get())); 78 EXPECT_FALSE(OptionalEnumType::Populate(*value, enum_type.get()));
49 } 79 }
50 } 80 }
51 81
52 TEST(JsonSchemaCompilerEnumsTest, TakesEnumParamsCreate) { 82 TEST(JsonSchemaCompilerEnumsTest, TakesEnumParamsCreate) {
53 { 83 {
54 scoped_ptr<ListValue> params_value(new ListValue()); 84 scoped_ptr<ListValue> params_value(new ListValue());
55 params_value->Append(Value::CreateStringValue("baz")); 85 params_value->Append(Value::CreateStringValue("baz"));
56 scoped_ptr<TakesEnum::Params> params( 86 scoped_ptr<TakesEnum::Params> params(
57 TakesEnum::Params::Create(*params_value)); 87 TakesEnum::Params::Create(*params_value));
58 EXPECT_TRUE(params.get()); 88 EXPECT_TRUE(params.get());
59 EXPECT_EQ(TakesEnum::Params::STATE_BAZ, params->state); 89 EXPECT_EQ(TakesEnum::Params::STATE_BAZ, params->state);
60 } 90 }
61 { 91 {
62 scoped_ptr<ListValue> params_value(new ListValue()); 92 scoped_ptr<ListValue> params_value(ListBuilder().Append("invalid").Build());
63 params_value->Append(Value::CreateStringValue("invalid"));
64 scoped_ptr<TakesEnum::Params> params( 93 scoped_ptr<TakesEnum::Params> params(
65 TakesEnum::Params::Create(*params_value)); 94 TakesEnum::Params::Create(*params_value));
66 EXPECT_FALSE(params.get()); 95 EXPECT_FALSE(params.get());
67 } 96 }
68 } 97 }
69 98
70 TEST(JsonSchemaCompilerEnumsTest, TakesOptionalEnumParamsCreate) { 99 TEST(JsonSchemaCompilerEnumsTest, TakesOptionalEnumParamsCreate) {
71 { 100 {
72 scoped_ptr<ListValue> params_value(new ListValue()); 101 scoped_ptr<ListValue> params_value(ListBuilder().Append("baz").Build());
73 params_value->Append(Value::CreateStringValue("baz"));
74 scoped_ptr<TakesOptionalEnum::Params> params( 102 scoped_ptr<TakesOptionalEnum::Params> params(
75 TakesOptionalEnum::Params::Create(*params_value)); 103 TakesOptionalEnum::Params::Create(*params_value));
76 EXPECT_TRUE(params.get()); 104 EXPECT_TRUE(params.get());
77 EXPECT_EQ(TakesOptionalEnum::Params::STATE_BAZ, params->state); 105 EXPECT_EQ(TakesOptionalEnum::Params::STATE_BAZ, params->state);
78 } 106 }
79 { 107 {
80 scoped_ptr<ListValue> params_value(new ListValue()); 108 scoped_ptr<ListValue> params_value(new ListValue());
81 scoped_ptr<TakesOptionalEnum::Params> params( 109 scoped_ptr<TakesOptionalEnum::Params> params(
82 TakesOptionalEnum::Params::Create(*params_value)); 110 TakesOptionalEnum::Params::Create(*params_value));
83 EXPECT_TRUE(params.get()); 111 EXPECT_TRUE(params.get());
84 EXPECT_EQ(TakesOptionalEnum::Params::STATE_NONE, params->state); 112 EXPECT_EQ(TakesOptionalEnum::Params::STATE_NONE, params->state);
85 } 113 }
86 { 114 {
87 scoped_ptr<ListValue> params_value(new ListValue()); 115 scoped_ptr<ListValue> params_value(ListBuilder().Append("invalid").Build());
88 params_value->Append(Value::CreateStringValue("invalid"));
89 scoped_ptr<TakesOptionalEnum::Params> params( 116 scoped_ptr<TakesOptionalEnum::Params> params(
90 TakesOptionalEnum::Params::Create(*params_value)); 117 TakesOptionalEnum::Params::Create(*params_value));
91 EXPECT_FALSE(params.get()); 118 EXPECT_FALSE(params.get());
92 } 119 }
93 } 120 }
94 121
95 TEST(JsonSchemaCompilerEnumsTest, TakesMultipleOptionalEnumsParamsCreate) { 122 TEST(JsonSchemaCompilerEnumsTest, TakesMultipleOptionalEnumsParamsCreate) {
96 { 123 {
97 scoped_ptr<ListValue> params_value(new ListValue()); 124 scoped_ptr<ListValue> params_value(
98 params_value->Append(Value::CreateStringValue("foo")); 125 ListBuilder().Append("foo").Append("foo").Build());
99 params_value->Append(Value::CreateStringValue("foo"));
100 scoped_ptr<TakesMultipleOptionalEnums::Params> params( 126 scoped_ptr<TakesMultipleOptionalEnums::Params> params(
101 TakesMultipleOptionalEnums::Params::Create(*params_value)); 127 TakesMultipleOptionalEnums::Params::Create(*params_value));
102 EXPECT_TRUE(params.get()); 128 EXPECT_TRUE(params.get());
103 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_FOO, params->state); 129 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_FOO, params->state);
104 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_FOO, params->type); 130 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_FOO, params->type);
105 } 131 }
106 { 132 {
107 scoped_ptr<ListValue> params_value(new ListValue()); 133 scoped_ptr<ListValue> params_value(ListBuilder().Append("foo").Build());
108 params_value->Append(Value::CreateStringValue("foo"));
109 scoped_ptr<TakesMultipleOptionalEnums::Params> params( 134 scoped_ptr<TakesMultipleOptionalEnums::Params> params(
110 TakesMultipleOptionalEnums::Params::Create(*params_value)); 135 TakesMultipleOptionalEnums::Params::Create(*params_value));
111 EXPECT_TRUE(params.get()); 136 EXPECT_TRUE(params.get());
112 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_FOO, params->state); 137 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_FOO, params->state);
113 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_NONE, params->type); 138 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_NONE, params->type);
114 } 139 }
115 { 140 {
116 scoped_ptr<ListValue> params_value(new ListValue()); 141 scoped_ptr<ListValue> params_value(new ListValue());
117 scoped_ptr<TakesMultipleOptionalEnums::Params> params( 142 scoped_ptr<TakesMultipleOptionalEnums::Params> params(
118 TakesMultipleOptionalEnums::Params::Create(*params_value)); 143 TakesMultipleOptionalEnums::Params::Create(*params_value));
119 EXPECT_TRUE(params.get()); 144 EXPECT_TRUE(params.get());
120 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_NONE, params->state); 145 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_NONE, params->state);
121 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_NONE, params->type); 146 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_NONE, params->type);
122 } 147 }
123 { 148 {
124 scoped_ptr<ListValue> params_value(new ListValue()); 149 scoped_ptr<ListValue> params_value(
125 params_value->Append(Value::CreateStringValue("baz")); 150 ListBuilder().Append("baz").Append("invalid").Build());
126 params_value->Append(Value::CreateStringValue("invalid"));
127 scoped_ptr<TakesMultipleOptionalEnums::Params> params( 151 scoped_ptr<TakesMultipleOptionalEnums::Params> params(
128 TakesMultipleOptionalEnums::Params::Create(*params_value)); 152 TakesMultipleOptionalEnums::Params::Create(*params_value));
129 EXPECT_FALSE(params.get()); 153 EXPECT_FALSE(params.get());
130 } 154 }
131 } 155 }
156
157 TEST(JsonSchemaCompilerEnumsTest, OnEnumFiredCreate) {
158 {
159 OnEnumFired::SomeEnum some_enum = OnEnumFired::SOME_ENUM_FOO;
160 scoped_ptr<Value> result(OnEnumFired::CreateEnumValue(some_enum));
161 scoped_ptr<Value> expected(Value::CreateStringValue("foo"));
162 EXPECT_TRUE(result->Equals(expected.get()));
163 }
164 {
165 OnEnumFired::SomeEnum some_enum = OnEnumFired::SOME_ENUM_FOO;
166 scoped_ptr<ListValue> results(OnEnumFired::Create(some_enum));
167 scoped_ptr<ListValue> expected(ListBuilder().Append("foo").Build());
168 EXPECT_TRUE(results->Equals(expected.get()));
169 }
170 }
171
172 TEST(JsonSchemaCompilerEnumsTest, OnTwoEnumsFiredCreate) {
173 {
174 scoped_ptr<Value> results(OnTwoEnumsFired::Create(
175 OnTwoEnumsFired::FIRST_ENUM_FOO,
176 OnTwoEnumsFired::SECOND_ENUM_HAM));
177 scoped_ptr<ListValue> expected(
178 ListBuilder().Append("foo").Append("ham").Build());
179 EXPECT_TRUE(results->Equals(expected.get()));
180 }
181 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698