OLD | NEW |
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 "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "tools/json_schema_compiler/test/test_util.h" | 8 #include "tools/json_schema_compiler/test/test_util.h" |
9 | 9 |
10 using namespace test::api::enums; | 10 using namespace test::api::enums; |
11 using json_schema_compiler::test_util::List; | 11 using json_schema_compiler::test_util::List; |
12 | 12 |
13 TEST(JsonSchemaCompilerEnumsTest, EnumTypePopulate) { | 13 TEST(JsonSchemaCompilerEnumsTest, EnumTypePopulate) { |
14 { | 14 { |
15 EnumType enum_type; | 15 EnumType enum_type; |
16 base::DictionaryValue value; | 16 base::DictionaryValue value; |
17 value.Set("type", new base::StringValue("one")); | 17 value.Set("type", new base::StringValue("one")); |
18 EXPECT_TRUE(EnumType::Populate(value, &enum_type)); | 18 EXPECT_TRUE(EnumType::Populate(value, &enum_type)); |
19 EXPECT_EQ(EnumType::TYPE_ONE, enum_type.type); | 19 EXPECT_EQ(ENUMERATION_ONE, enum_type.type); |
20 EXPECT_TRUE(value.Equals(enum_type.ToValue().get())); | 20 EXPECT_TRUE(value.Equals(enum_type.ToValue().get())); |
21 } | 21 } |
22 { | 22 { |
23 EnumType enum_type; | 23 EnumType enum_type; |
24 base::DictionaryValue value; | 24 base::DictionaryValue value; |
25 value.Set("type", new base::StringValue("invalid")); | 25 value.Set("type", new base::StringValue("invalid")); |
26 EXPECT_FALSE(EnumType::Populate(value, &enum_type)); | 26 EXPECT_FALSE(EnumType::Populate(value, &enum_type)); |
27 } | 27 } |
28 } | 28 } |
29 | 29 |
(...skipping 22 matching lines...) Expand all Loading... |
52 | 52 |
53 value.Set("enumeration", new base::StringValue("one")); | 53 value.Set("enumeration", new base::StringValue("one")); |
54 ASSERT_TRUE(HasEnumeration::Populate(value, &enumeration)); | 54 ASSERT_TRUE(HasEnumeration::Populate(value, &enumeration)); |
55 EXPECT_TRUE(value.Equals(enumeration.ToValue().get())); | 55 EXPECT_TRUE(value.Equals(enumeration.ToValue().get())); |
56 | 56 |
57 value.Set("optional_enumeration", new base::StringValue("two")); | 57 value.Set("optional_enumeration", new base::StringValue("two")); |
58 ASSERT_TRUE(HasEnumeration::Populate(value, &enumeration)); | 58 ASSERT_TRUE(HasEnumeration::Populate(value, &enumeration)); |
59 EXPECT_TRUE(value.Equals(enumeration.ToValue().get())); | 59 EXPECT_TRUE(value.Equals(enumeration.ToValue().get())); |
60 } | 60 } |
61 { | 61 { |
62 InlineAndReferenceEnum enumeration; | 62 ReferenceEnum enumeration; |
63 base::DictionaryValue value; | 63 base::DictionaryValue value; |
64 ASSERT_FALSE(InlineAndReferenceEnum::Populate(value, &enumeration)); | 64 ASSERT_FALSE(ReferenceEnum::Populate(value, &enumeration)); |
65 | |
66 value.Set("inline_enum", new base::StringValue("test2")); | |
67 ASSERT_FALSE(InlineAndReferenceEnum::Populate(value, &enumeration)); | |
68 | 65 |
69 value.Set("reference_enum", new base::StringValue("one")); | 66 value.Set("reference_enum", new base::StringValue("one")); |
70 ASSERT_TRUE(InlineAndReferenceEnum::Populate(value, &enumeration)); | 67 ASSERT_TRUE(ReferenceEnum::Populate(value, &enumeration)); |
71 EXPECT_TRUE(value.Equals(enumeration.ToValue().get())); | 68 EXPECT_TRUE(value.Equals(enumeration.ToValue().get())); |
72 } | 69 } |
73 } | 70 } |
74 | 71 |
75 TEST(JsonSchemaCompilerEnumsTest, EnumsArrayAsType) { | 72 TEST(JsonSchemaCompilerEnumsTest, EnumsArrayAsType) { |
76 { | 73 { |
77 base::ListValue params_value; | 74 base::ListValue params_value; |
78 params_value.Append(List(new base::StringValue("one"), | 75 params_value.Append(List(new base::StringValue("one"), |
79 new base::StringValue("two")).release()); | 76 new base::StringValue("two")).release()); |
80 scoped_ptr<TakesEnumArrayAsType::Params> params( | 77 scoped_ptr<TakesEnumArrayAsType::Params> params( |
81 TakesEnumArrayAsType::Params::Create(params_value)); | 78 TakesEnumArrayAsType::Params::Create(params_value)); |
82 ASSERT_TRUE(params); | 79 ASSERT_TRUE(params); |
83 EXPECT_EQ(2U, params->values.size()); | 80 EXPECT_EQ(2U, params->values.size()); |
84 EXPECT_EQ(ENUMERATION_ONE, params->values[0]); | 81 EXPECT_EQ(ENUMERATION_ONE, params->values[0]); |
85 EXPECT_EQ(ENUMERATION_TWO, params->values[1]); | 82 EXPECT_EQ(ENUMERATION_TWO, params->values[1]); |
86 } | 83 } |
87 { | 84 { |
88 base::ListValue params_value; | 85 base::ListValue params_value; |
89 params_value.Append(List(new base::StringValue("invalid")).release()); | 86 params_value.Append(List(new base::StringValue("invalid")).release()); |
90 scoped_ptr<TakesEnumArrayAsType::Params> params( | 87 scoped_ptr<TakesEnumArrayAsType::Params> params( |
91 TakesEnumArrayAsType::Params::Create(params_value)); | 88 TakesEnumArrayAsType::Params::Create(params_value)); |
92 EXPECT_FALSE(params); | 89 EXPECT_FALSE(params); |
93 } | 90 } |
94 } | 91 } |
95 | 92 |
96 TEST(JsonSchemaCompilerEnumsTest, ReturnsEnumCreate) { | 93 TEST(JsonSchemaCompilerEnumsTest, ReturnsEnumCreate) { |
97 { | 94 { |
98 ReturnsEnum::Results::State state = ReturnsEnum::Results::STATE_FOO; | 95 Enumeration state = ENUMERATION_ONE; |
99 scoped_ptr<base::Value> result( | 96 scoped_ptr<base::Value> result(new base::StringValue(ToString(state))); |
100 new base::StringValue(ReturnsEnum::Results::ToString(state))); | 97 scoped_ptr<base::Value> expected(new base::StringValue("one")); |
101 scoped_ptr<base::Value> expected(new base::StringValue("foo")); | |
102 EXPECT_TRUE(result->Equals(expected.get())); | 98 EXPECT_TRUE(result->Equals(expected.get())); |
103 } | 99 } |
104 { | 100 { |
105 ReturnsEnum::Results::State state = ReturnsEnum::Results::STATE_FOO; | 101 Enumeration state = ENUMERATION_ONE; |
106 scoped_ptr<base::ListValue> results = ReturnsEnum::Results::Create(state); | 102 scoped_ptr<base::ListValue> results = ReturnsEnum::Results::Create(state); |
107 base::ListValue expected; | 103 base::ListValue expected; |
108 expected.Append(new base::StringValue("foo")); | 104 expected.Append(new base::StringValue("one")); |
109 EXPECT_TRUE(results->Equals(&expected)); | 105 EXPECT_TRUE(results->Equals(&expected)); |
110 } | 106 } |
111 } | 107 } |
112 | 108 |
113 TEST(JsonSchemaCompilerEnumsTest, ReturnsTwoEnumsCreate) { | 109 TEST(JsonSchemaCompilerEnumsTest, ReturnsTwoEnumsCreate) { |
114 { | 110 { |
115 scoped_ptr<base::ListValue> results = ReturnsTwoEnums::Results::Create( | 111 scoped_ptr<base::ListValue> results = ReturnsTwoEnums::Results::Create( |
116 ReturnsTwoEnums::Results::FIRST_STATE_FOO, | 112 ENUMERATION_ONE, OTHER_ENUMERATION_HAM); |
117 ReturnsTwoEnums::Results::SECOND_STATE_HAM); | |
118 base::ListValue expected; | 113 base::ListValue expected; |
119 expected.Append(new base::StringValue("foo")); | 114 expected.Append(new base::StringValue("one")); |
120 expected.Append(new base::StringValue("ham")); | 115 expected.Append(new base::StringValue("ham")); |
121 EXPECT_TRUE(results->Equals(&expected)); | 116 EXPECT_TRUE(results->Equals(&expected)); |
122 } | 117 } |
123 } | 118 } |
124 | 119 |
125 TEST(JsonSchemaCompilerEnumsTest, OptionalEnumTypePopulate) { | 120 TEST(JsonSchemaCompilerEnumsTest, OptionalEnumTypePopulate) { |
126 { | 121 { |
127 OptionalEnumType enum_type; | 122 OptionalEnumType enum_type; |
128 base::DictionaryValue value; | 123 base::DictionaryValue value; |
129 value.Set("type", new base::StringValue("two")); | 124 value.Set("type", new base::StringValue("two")); |
130 EXPECT_TRUE(OptionalEnumType::Populate(value, &enum_type)); | 125 EXPECT_TRUE(OptionalEnumType::Populate(value, &enum_type)); |
131 EXPECT_EQ(OptionalEnumType::TYPE_TWO, enum_type.type); | 126 EXPECT_EQ(ENUMERATION_TWO, enum_type.type); |
132 EXPECT_TRUE(value.Equals(enum_type.ToValue().get())); | 127 EXPECT_TRUE(value.Equals(enum_type.ToValue().get())); |
133 } | 128 } |
134 { | 129 { |
135 OptionalEnumType enum_type; | 130 OptionalEnumType enum_type; |
136 base::DictionaryValue value; | 131 base::DictionaryValue value; |
137 EXPECT_TRUE(OptionalEnumType::Populate(value, &enum_type)); | 132 EXPECT_TRUE(OptionalEnumType::Populate(value, &enum_type)); |
138 EXPECT_EQ(OptionalEnumType::TYPE_NONE, enum_type.type); | 133 EXPECT_EQ(ENUMERATION_NONE, enum_type.type); |
139 EXPECT_TRUE(value.Equals(enum_type.ToValue().get())); | 134 EXPECT_TRUE(value.Equals(enum_type.ToValue().get())); |
140 } | 135 } |
141 { | 136 { |
142 OptionalEnumType enum_type; | 137 OptionalEnumType enum_type; |
143 base::DictionaryValue value; | 138 base::DictionaryValue value; |
144 value.Set("type", new base::StringValue("invalid")); | 139 value.Set("type", new base::StringValue("invalid")); |
145 EXPECT_FALSE(OptionalEnumType::Populate(value, &enum_type)); | 140 EXPECT_FALSE(OptionalEnumType::Populate(value, &enum_type)); |
146 } | 141 } |
147 } | 142 } |
148 | 143 |
149 TEST(JsonSchemaCompilerEnumsTest, TakesEnumParamsCreate) { | 144 TEST(JsonSchemaCompilerEnumsTest, TakesEnumParamsCreate) { |
150 { | 145 { |
151 base::ListValue params_value; | 146 base::ListValue params_value; |
152 params_value.Append(new base::StringValue("baz")); | 147 params_value.Append(new base::StringValue("two")); |
153 scoped_ptr<TakesEnum::Params> params( | 148 scoped_ptr<TakesEnum::Params> params( |
154 TakesEnum::Params::Create(params_value)); | 149 TakesEnum::Params::Create(params_value)); |
155 EXPECT_TRUE(params.get()); | 150 EXPECT_TRUE(params.get()); |
156 EXPECT_EQ(TakesEnum::Params::STATE_BAZ, params->state); | 151 EXPECT_EQ(ENUMERATION_TWO, params->state); |
157 } | 152 } |
158 { | 153 { |
159 base::ListValue params_value; | 154 base::ListValue params_value; |
160 params_value.Append(new base::StringValue("invalid")); | 155 params_value.Append(new base::StringValue("invalid")); |
161 scoped_ptr<TakesEnum::Params> params( | 156 scoped_ptr<TakesEnum::Params> params( |
162 TakesEnum::Params::Create(params_value)); | 157 TakesEnum::Params::Create(params_value)); |
163 EXPECT_FALSE(params.get()); | 158 EXPECT_FALSE(params.get()); |
164 } | 159 } |
165 } | 160 } |
166 | 161 |
167 TEST(JsonSchemaCompilerEnumsTest, TakesEnumArrayParamsCreate) { | 162 TEST(JsonSchemaCompilerEnumsTest, TakesEnumArrayParamsCreate) { |
168 { | 163 { |
169 base::ListValue params_value; | 164 base::ListValue params_value; |
170 params_value.Append(List(new base::StringValue("foo"), | 165 params_value.Append(List(new base::StringValue("one"), |
171 new base::StringValue("bar")).release()); | 166 new base::StringValue("two")).release()); |
172 scoped_ptr<TakesEnumArray::Params> params( | 167 scoped_ptr<TakesEnumArray::Params> params( |
173 TakesEnumArray::Params::Create(params_value)); | 168 TakesEnumArray::Params::Create(params_value)); |
174 ASSERT_TRUE(params); | 169 ASSERT_TRUE(params); |
175 EXPECT_EQ(2U, params->values.size()); | 170 EXPECT_EQ(2U, params->values.size()); |
176 EXPECT_EQ(TakesEnumArray::Params::VALUES_TYPE_FOO, params->values[0]); | 171 EXPECT_EQ(ENUMERATION_ONE, params->values[0]); |
177 EXPECT_EQ(TakesEnumArray::Params::VALUES_TYPE_BAR, params->values[1]); | 172 EXPECT_EQ(ENUMERATION_TWO, params->values[1]); |
178 } | 173 } |
179 { | 174 { |
180 base::ListValue params_value; | 175 base::ListValue params_value; |
181 params_value.Append(List(new base::StringValue("invalid")).release()); | 176 params_value.Append(List(new base::StringValue("invalid")).release()); |
182 scoped_ptr<TakesEnumArray::Params> params( | 177 scoped_ptr<TakesEnumArray::Params> params( |
183 TakesEnumArray::Params::Create(params_value)); | 178 TakesEnumArray::Params::Create(params_value)); |
184 EXPECT_FALSE(params); | 179 EXPECT_FALSE(params); |
185 } | 180 } |
186 } | 181 } |
187 | 182 |
188 TEST(JsonSchemaCompilerEnumsTest, TakesOptionalEnumParamsCreate) { | 183 TEST(JsonSchemaCompilerEnumsTest, TakesOptionalEnumParamsCreate) { |
189 { | 184 { |
190 base::ListValue params_value; | 185 base::ListValue params_value; |
191 params_value.Append(new base::StringValue("baz")); | 186 params_value.Append(new base::StringValue("three")); |
192 scoped_ptr<TakesOptionalEnum::Params> params( | 187 scoped_ptr<TakesOptionalEnum::Params> params( |
193 TakesOptionalEnum::Params::Create(params_value)); | 188 TakesOptionalEnum::Params::Create(params_value)); |
194 EXPECT_TRUE(params.get()); | 189 EXPECT_TRUE(params.get()); |
195 EXPECT_EQ(TakesOptionalEnum::Params::STATE_BAZ, params->state); | 190 EXPECT_EQ(ENUMERATION_THREE, params->state); |
196 } | 191 } |
197 { | 192 { |
198 base::ListValue params_value; | 193 base::ListValue params_value; |
199 scoped_ptr<TakesOptionalEnum::Params> params( | 194 scoped_ptr<TakesOptionalEnum::Params> params( |
200 TakesOptionalEnum::Params::Create(params_value)); | 195 TakesOptionalEnum::Params::Create(params_value)); |
201 EXPECT_TRUE(params.get()); | 196 EXPECT_TRUE(params.get()); |
202 EXPECT_EQ(TakesOptionalEnum::Params::STATE_NONE, params->state); | 197 EXPECT_EQ(ENUMERATION_NONE, params->state); |
203 } | 198 } |
204 { | 199 { |
205 base::ListValue params_value; | 200 base::ListValue params_value; |
206 params_value.Append(new base::StringValue("invalid")); | 201 params_value.Append(new base::StringValue("invalid")); |
207 scoped_ptr<TakesOptionalEnum::Params> params( | 202 scoped_ptr<TakesOptionalEnum::Params> params( |
208 TakesOptionalEnum::Params::Create(params_value)); | 203 TakesOptionalEnum::Params::Create(params_value)); |
209 EXPECT_FALSE(params.get()); | 204 EXPECT_FALSE(params.get()); |
210 } | 205 } |
211 } | 206 } |
212 | 207 |
213 TEST(JsonSchemaCompilerEnumsTest, TakesMultipleOptionalEnumsParamsCreate) { | 208 TEST(JsonSchemaCompilerEnumsTest, TakesMultipleOptionalEnumsParamsCreate) { |
214 { | 209 { |
215 base::ListValue params_value; | 210 base::ListValue params_value; |
216 params_value.Append(new base::StringValue("foo")); | 211 params_value.Append(new base::StringValue("one")); |
217 params_value.Append(new base::StringValue("foo")); | 212 params_value.Append(new base::StringValue("ham")); |
218 scoped_ptr<TakesMultipleOptionalEnums::Params> params( | 213 scoped_ptr<TakesMultipleOptionalEnums::Params> params( |
219 TakesMultipleOptionalEnums::Params::Create(params_value)); | 214 TakesMultipleOptionalEnums::Params::Create(params_value)); |
220 EXPECT_TRUE(params.get()); | 215 EXPECT_TRUE(params.get()); |
221 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_FOO, params->state); | 216 EXPECT_EQ(ENUMERATION_ONE, params->state); |
222 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_FOO, params->type); | 217 EXPECT_EQ(OTHER_ENUMERATION_HAM, params->type); |
223 } | 218 } |
224 { | 219 { |
225 base::ListValue params_value; | 220 base::ListValue params_value; |
226 params_value.Append(new base::StringValue("foo")); | 221 params_value.Append(new base::StringValue("one")); |
227 scoped_ptr<TakesMultipleOptionalEnums::Params> params( | 222 scoped_ptr<TakesMultipleOptionalEnums::Params> params( |
228 TakesMultipleOptionalEnums::Params::Create(params_value)); | 223 TakesMultipleOptionalEnums::Params::Create(params_value)); |
229 EXPECT_TRUE(params.get()); | 224 EXPECT_TRUE(params.get()); |
230 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_FOO, params->state); | 225 EXPECT_EQ(ENUMERATION_ONE, params->state); |
231 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_NONE, params->type); | 226 EXPECT_EQ(OTHER_ENUMERATION_NONE, params->type); |
232 } | 227 } |
233 { | 228 { |
234 base::ListValue params_value; | 229 base::ListValue params_value; |
235 scoped_ptr<TakesMultipleOptionalEnums::Params> params( | 230 scoped_ptr<TakesMultipleOptionalEnums::Params> params( |
236 TakesMultipleOptionalEnums::Params::Create(params_value)); | 231 TakesMultipleOptionalEnums::Params::Create(params_value)); |
237 EXPECT_TRUE(params.get()); | 232 EXPECT_TRUE(params.get()); |
238 EXPECT_EQ(TakesMultipleOptionalEnums::Params::STATE_NONE, params->state); | 233 EXPECT_EQ(ENUMERATION_NONE, params->state); |
239 EXPECT_EQ(TakesMultipleOptionalEnums::Params::TYPE_NONE, params->type); | 234 EXPECT_EQ(OTHER_ENUMERATION_NONE, params->type); |
240 } | 235 } |
241 { | 236 { |
242 base::ListValue params_value; | 237 base::ListValue params_value; |
243 params_value.Append(new base::StringValue("baz")); | 238 params_value.Append(new base::StringValue("three")); |
244 params_value.Append(new base::StringValue("invalid")); | 239 params_value.Append(new base::StringValue("invalid")); |
245 scoped_ptr<TakesMultipleOptionalEnums::Params> params( | 240 scoped_ptr<TakesMultipleOptionalEnums::Params> params( |
246 TakesMultipleOptionalEnums::Params::Create(params_value)); | 241 TakesMultipleOptionalEnums::Params::Create(params_value)); |
247 EXPECT_FALSE(params.get()); | 242 EXPECT_FALSE(params.get()); |
248 } | 243 } |
249 } | 244 } |
250 | 245 |
251 TEST(JsonSchemaCompilerEnumsTest, OnEnumFiredCreate) { | 246 TEST(JsonSchemaCompilerEnumsTest, OnEnumFiredCreate) { |
252 { | 247 { |
253 OnEnumFired::SomeEnum some_enum = OnEnumFired::SOME_ENUM_FOO; | 248 Enumeration some_enum = ENUMERATION_ONE; |
254 scoped_ptr<base::Value> result( | 249 scoped_ptr<base::Value> result(new base::StringValue(ToString(some_enum))); |
255 new base::StringValue(OnEnumFired::ToString(some_enum))); | 250 scoped_ptr<base::Value> expected(new base::StringValue("one")); |
256 scoped_ptr<base::Value> expected(new base::StringValue("foo")); | |
257 EXPECT_TRUE(result->Equals(expected.get())); | 251 EXPECT_TRUE(result->Equals(expected.get())); |
258 } | 252 } |
259 { | 253 { |
260 OnEnumFired::SomeEnum some_enum = OnEnumFired::SOME_ENUM_FOO; | 254 Enumeration some_enum = ENUMERATION_ONE; |
261 scoped_ptr<base::ListValue> results(OnEnumFired::Create(some_enum)); | 255 scoped_ptr<base::ListValue> results(OnEnumFired::Create(some_enum)); |
262 base::ListValue expected; | 256 base::ListValue expected; |
263 expected.Append(new base::StringValue("foo")); | 257 expected.Append(new base::StringValue("one")); |
264 EXPECT_TRUE(results->Equals(&expected)); | 258 EXPECT_TRUE(results->Equals(&expected)); |
265 } | 259 } |
266 } | 260 } |
267 | 261 |
268 TEST(JsonSchemaCompilerEnumsTest, OnTwoEnumsFiredCreate) { | 262 TEST(JsonSchemaCompilerEnumsTest, OnTwoEnumsFiredCreate) { |
269 { | 263 { |
270 scoped_ptr<base::Value> results(OnTwoEnumsFired::Create( | 264 scoped_ptr<base::Value> results( |
271 OnTwoEnumsFired::FIRST_ENUM_FOO, | 265 OnTwoEnumsFired::Create(ENUMERATION_ONE, OTHER_ENUMERATION_HAM)); |
272 OnTwoEnumsFired::SECOND_ENUM_HAM)); | |
273 base::ListValue expected; | 266 base::ListValue expected; |
274 expected.Append(new base::StringValue("foo")); | 267 expected.Append(new base::StringValue("one")); |
275 expected.Append(new base::StringValue("ham")); | 268 expected.Append(new base::StringValue("ham")); |
276 EXPECT_TRUE(results->Equals(&expected)); | 269 EXPECT_TRUE(results->Equals(&expected)); |
277 } | 270 } |
278 } | 271 } |
OLD | NEW |