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