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

Side by Side Diff: content/child/v8_value_converter_impl_unittest.cc

Issue 2539363004: Make base::Value::TYPE a scoped enum. (Closed)
Patch Set: Rebase Created 4 years 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 "content/child/v8_value_converter_impl.h" 5 #include "content/child/v8_value_converter_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <cmath> 10 #include <cmath>
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 } 124 }
125 return temp->Value(); 125 return temp->Value();
126 } 126 }
127 127
128 bool IsNull(base::DictionaryValue* value, const std::string& key) { 128 bool IsNull(base::DictionaryValue* value, const std::string& key) {
129 base::Value* child = NULL; 129 base::Value* child = NULL;
130 if (!value->Get(key, &child)) { 130 if (!value->Get(key, &child)) {
131 ADD_FAILURE(); 131 ADD_FAILURE();
132 return false; 132 return false;
133 } 133 }
134 return child->GetType() == base::Value::TYPE_NULL; 134 return child->GetType() == base::Value::Type::NONE;
135 } 135 }
136 136
137 bool IsNull(v8::Local<v8::Object> value, const std::string& key) { 137 bool IsNull(v8::Local<v8::Object> value, const std::string& key) {
138 v8::Local<v8::Value> child = 138 v8::Local<v8::Value> child =
139 value->Get(v8::String::NewFromUtf8(isolate_, key.c_str())); 139 value->Get(v8::String::NewFromUtf8(isolate_, key.c_str()));
140 if (child.IsEmpty()) { 140 if (child.IsEmpty()) {
141 ADD_FAILURE(); 141 ADD_FAILURE();
142 return false; 142 return false;
143 } 143 }
144 return child->IsNull(); 144 return child->IsNull();
145 } 145 }
146 146
147 bool IsNull(base::ListValue* value, uint32_t index) { 147 bool IsNull(base::ListValue* value, uint32_t index) {
148 base::Value* child = NULL; 148 base::Value* child = NULL;
149 if (!value->Get(static_cast<size_t>(index), &child)) { 149 if (!value->Get(static_cast<size_t>(index), &child)) {
150 ADD_FAILURE(); 150 ADD_FAILURE();
151 return false; 151 return false;
152 } 152 }
153 return child->GetType() == base::Value::TYPE_NULL; 153 return child->GetType() == base::Value::Type::NONE;
154 } 154 }
155 155
156 bool IsNull(v8::Local<v8::Array> value, uint32_t index) { 156 bool IsNull(v8::Local<v8::Array> value, uint32_t index) {
157 v8::Local<v8::Value> child = value->Get(index); 157 v8::Local<v8::Value> child = value->Get(index);
158 if (child.IsEmpty()) { 158 if (child.IsEmpty()) {
159 ADD_FAILURE(); 159 ADD_FAILURE();
160 return false; 160 return false;
161 } 161 }
162 return child->IsNull(); 162 return child->IsNull();
163 } 163 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 if (expected_value) { 201 if (expected_value) {
202 base::Value* temp = NULL; 202 base::Value* temp = NULL;
203 ASSERT_TRUE(list->Get(0, &temp)); 203 ASSERT_TRUE(list->Get(0, &temp));
204 EXPECT_EQ(expected_type, temp->GetType()); 204 EXPECT_EQ(expected_type, temp->GetType());
205 EXPECT_TRUE(expected_value->Equals(temp)); 205 EXPECT_TRUE(expected_value->Equals(temp));
206 } else { 206 } else {
207 // Arrays should preserve their length, and convert unconvertible 207 // Arrays should preserve their length, and convert unconvertible
208 // types into null. 208 // types into null.
209 base::Value* temp = NULL; 209 base::Value* temp = NULL;
210 ASSERT_TRUE(list->Get(0, &temp)); 210 ASSERT_TRUE(list->Get(0, &temp));
211 EXPECT_EQ(base::Value::TYPE_NULL, temp->GetType()); 211 EXPECT_EQ(base::Value::Type::NONE, temp->GetType());
212 } 212 }
213 } 213 }
214 214
215 v8::Isolate* isolate_; 215 v8::Isolate* isolate_;
216 216
217 // Context for the JavaScript in the test. 217 // Context for the JavaScript in the test.
218 v8::Persistent<v8::Context> context_; 218 v8::Persistent<v8::Context> context_;
219 }; 219 };
220 220
221 TEST_F(V8ValueConverterImplTest, BasicRoundTrip) { 221 TEST_F(V8ValueConverterImplTest, BasicRoundTrip) {
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 v8::HandleScope handle_scope(isolate_); 396 v8::HandleScope handle_scope(isolate_);
397 v8::Local<v8::Context> context = 397 v8::Local<v8::Context> context =
398 v8::Local<v8::Context>::New(isolate_, context_); 398 v8::Local<v8::Context>::New(isolate_, context_);
399 v8::Context::Scope context_scope(context); 399 v8::Context::Scope context_scope(context);
400 400
401 v8::Local<v8::RegExp> regex(v8::RegExp::New( 401 v8::Local<v8::RegExp> regex(v8::RegExp::New(
402 v8::String::NewFromUtf8(isolate_, "."), v8::RegExp::kNone)); 402 v8::String::NewFromUtf8(isolate_, "."), v8::RegExp::kNone));
403 403
404 V8ValueConverterImpl converter; 404 V8ValueConverterImpl converter;
405 TestWeirdType(converter, v8::Undefined(isolate_), 405 TestWeirdType(converter, v8::Undefined(isolate_),
406 base::Value::TYPE_NULL, // Arbitrary type, result is NULL. 406 base::Value::Type::NONE, // Arbitrary type, result is NULL.
407 std::unique_ptr<base::Value>()); 407 std::unique_ptr<base::Value>());
408 TestWeirdType(converter, v8::Date::New(isolate_, 1000), 408 TestWeirdType(converter, v8::Date::New(isolate_, 1000),
409 base::Value::TYPE_DICTIONARY, 409 base::Value::Type::DICTIONARY,
410 std::unique_ptr<base::Value>(new base::DictionaryValue())); 410 std::unique_ptr<base::Value>(new base::DictionaryValue()));
411 TestWeirdType(converter, regex, base::Value::TYPE_DICTIONARY, 411 TestWeirdType(converter, regex, base::Value::Type::DICTIONARY,
412 std::unique_ptr<base::Value>(new base::DictionaryValue())); 412 std::unique_ptr<base::Value>(new base::DictionaryValue()));
413 413
414 converter.SetDateAllowed(true); 414 converter.SetDateAllowed(true);
415 TestWeirdType(converter, v8::Date::New(isolate_, 1000), 415 TestWeirdType(converter, v8::Date::New(isolate_, 1000),
416 base::Value::TYPE_DOUBLE, 416 base::Value::Type::DOUBLE,
417 std::unique_ptr<base::Value>(new base::FundamentalValue(1.0))); 417 std::unique_ptr<base::Value>(new base::FundamentalValue(1.0)));
418 418
419 converter.SetRegExpAllowed(true); 419 converter.SetRegExpAllowed(true);
420 TestWeirdType(converter, regex, base::Value::TYPE_STRING, 420 TestWeirdType(converter, regex, base::Value::Type::STRING,
421 std::unique_ptr<base::Value>(new base::StringValue("/./"))); 421 std::unique_ptr<base::Value>(new base::StringValue("/./")));
422 } 422 }
423 423
424 TEST_F(V8ValueConverterImplTest, Prototype) { 424 TEST_F(V8ValueConverterImplTest, Prototype) {
425 v8::HandleScope handle_scope(isolate_); 425 v8::HandleScope handle_scope(isolate_);
426 v8::Local<v8::Context> context = 426 v8::Local<v8::Context> context =
427 v8::Local<v8::Context>::New(isolate_, context_); 427 v8::Local<v8::Context>::New(isolate_, context_);
428 v8::Context::Scope context_scope(context); 428 v8::Context::Scope context_scope(context);
429 v8::MicrotasksScope microtasks( 429 v8::MicrotasksScope microtasks(
430 isolate_, v8::MicrotasksScope::kDoNotRunMicrotasks); 430 isolate_, v8::MicrotasksScope::kDoNotRunMicrotasks);
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after
1120 EXPECT_TRUE( 1120 EXPECT_TRUE(
1121 base::Value::Equals(reference_number_value.get(), number_value.get())); 1121 base::Value::Equals(reference_number_value.get(), number_value.get()));
1122 1122
1123 v8::Local<v8::Primitive> undefined(v8::Undefined(isolate_)); 1123 v8::Local<v8::Primitive> undefined(v8::Undefined(isolate_));
1124 std::unique_ptr<base::Value> undefined_value( 1124 std::unique_ptr<base::Value> undefined_value(
1125 converter.FromV8Value(undefined, context)); 1125 converter.FromV8Value(undefined, context));
1126 EXPECT_FALSE(undefined_value); 1126 EXPECT_FALSE(undefined_value);
1127 } 1127 }
1128 1128
1129 } // namespace content 1129 } // namespace content
OLDNEW
« no previous file with comments | « content/child/v8_value_converter_impl.cc ('k') | content/common/android/gin_java_bridge_value.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698