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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/V8BindingTest.cpp

Issue 2595543003: Rename toV8(...) function in Blink to ToV8(...). (Closed)
Patch Set: Rebasing... Created 3 years, 11 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "bindings/core/v8/V8Binding.h" 5 #include "bindings/core/v8/V8Binding.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ToV8.h" 8 #include "bindings/core/v8/ToV8.h"
9 #include "bindings/core/v8/V8BindingForTesting.h" 9 #include "bindings/core/v8/V8BindingForTesting.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "wtf/Vector.h" 11 #include "wtf/Vector.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 namespace { 15 namespace {
16 16
17 template <typename T> 17 template <typename T>
18 v8::Local<v8::Value> toV8(V8TestingScope* scope, T value) { 18 v8::Local<v8::Value> ToV8(V8TestingScope* scope, T value) {
19 return blink::toV8(value, scope->context()->Global(), scope->isolate()); 19 return blink::ToV8(value, scope->context()->Global(), scope->isolate());
20 } 20 }
21 21
22 TEST(V8BindingTest, toImplSequence) { 22 TEST(V8BindingTest, toImplSequence) {
23 V8TestingScope scope; 23 V8TestingScope scope;
24 { 24 {
25 v8::Local<v8::Array> v8StringArray = v8::Array::New(scope.isolate(), 2); 25 v8::Local<v8::Array> v8StringArray = v8::Array::New(scope.isolate(), 2);
26 v8StringArray 26 v8StringArray
27 ->Set(scope.context(), toV8(&scope, 0), toV8(&scope, "Hello, World!")) 27 ->Set(scope.context(), ToV8(&scope, 0), ToV8(&scope, "Hello, World!"))
28 .ToChecked(); 28 .ToChecked();
29 v8StringArray 29 v8StringArray
30 ->Set(scope.context(), toV8(&scope, 1), toV8(&scope, "Hi, Mom!")) 30 ->Set(scope.context(), ToV8(&scope, 1), ToV8(&scope, "Hi, Mom!"))
31 .ToChecked(); 31 .ToChecked();
32 32
33 NonThrowableExceptionState exceptionState; 33 NonThrowableExceptionState exceptionState;
34 Vector<String> stringVector = toImplSequence<Vector<String>>( 34 Vector<String> stringVector = toImplSequence<Vector<String>>(
35 scope.isolate(), v8StringArray, exceptionState); 35 scope.isolate(), v8StringArray, exceptionState);
36 EXPECT_EQ(2U, stringVector.size()); 36 EXPECT_EQ(2U, stringVector.size());
37 EXPECT_EQ("Hello, World!", stringVector[0]); 37 EXPECT_EQ("Hello, World!", stringVector[0]);
38 EXPECT_EQ("Hi, Mom!", stringVector[1]); 38 EXPECT_EQ("Hi, Mom!", stringVector[1]);
39 } 39 }
40 } 40 }
41 41
42 TEST(V8BindingTest, toImplArray) { 42 TEST(V8BindingTest, toImplArray) {
43 V8TestingScope scope; 43 V8TestingScope scope;
44 { 44 {
45 v8::Local<v8::Array> v8StringArray = v8::Array::New(scope.isolate(), 2); 45 v8::Local<v8::Array> v8StringArray = v8::Array::New(scope.isolate(), 2);
46 EXPECT_TRUE(v8CallBoolean(v8StringArray->Set( 46 EXPECT_TRUE(v8CallBoolean(v8StringArray->Set(
47 scope.context(), toV8(&scope, 0), toV8(&scope, "Hello, World!")))); 47 scope.context(), ToV8(&scope, 0), ToV8(&scope, "Hello, World!"))));
48 EXPECT_TRUE(v8CallBoolean(v8StringArray->Set( 48 EXPECT_TRUE(v8CallBoolean(v8StringArray->Set(
49 scope.context(), toV8(&scope, 1), toV8(&scope, "Hi, Mom!")))); 49 scope.context(), ToV8(&scope, 1), ToV8(&scope, "Hi, Mom!"))));
50 50
51 NonThrowableExceptionState exceptionState; 51 NonThrowableExceptionState exceptionState;
52 Vector<String> stringVector = toImplArray<Vector<String>>( 52 Vector<String> stringVector = toImplArray<Vector<String>>(
53 v8StringArray, 0, scope.isolate(), exceptionState); 53 v8StringArray, 0, scope.isolate(), exceptionState);
54 EXPECT_EQ(2U, stringVector.size()); 54 EXPECT_EQ(2U, stringVector.size());
55 EXPECT_EQ("Hello, World!", stringVector[0]); 55 EXPECT_EQ("Hello, World!", stringVector[0]);
56 EXPECT_EQ("Hi, Mom!", stringVector[1]); 56 EXPECT_EQ("Hi, Mom!", stringVector[1]);
57 } 57 }
58 { 58 {
59 v8::Local<v8::Array> v8UnsignedArray = v8::Array::New(scope.isolate(), 3); 59 v8::Local<v8::Array> v8UnsignedArray = v8::Array::New(scope.isolate(), 3);
60 EXPECT_TRUE(v8CallBoolean(v8UnsignedArray->Set( 60 EXPECT_TRUE(v8CallBoolean(v8UnsignedArray->Set(
61 scope.context(), toV8(&scope, 0), toV8(&scope, 42)))); 61 scope.context(), ToV8(&scope, 0), ToV8(&scope, 42))));
62 EXPECT_TRUE(v8CallBoolean(v8UnsignedArray->Set( 62 EXPECT_TRUE(v8CallBoolean(v8UnsignedArray->Set(
63 scope.context(), toV8(&scope, 1), toV8(&scope, 1729)))); 63 scope.context(), ToV8(&scope, 1), ToV8(&scope, 1729))));
64 EXPECT_TRUE(v8CallBoolean(v8UnsignedArray->Set( 64 EXPECT_TRUE(v8CallBoolean(v8UnsignedArray->Set(
65 scope.context(), toV8(&scope, 2), toV8(&scope, 31773)))); 65 scope.context(), ToV8(&scope, 2), ToV8(&scope, 31773))));
66 66
67 NonThrowableExceptionState exceptionState; 67 NonThrowableExceptionState exceptionState;
68 Vector<unsigned> unsignedVector = toImplArray<Vector<unsigned>>( 68 Vector<unsigned> unsignedVector = toImplArray<Vector<unsigned>>(
69 v8UnsignedArray, 0, scope.isolate(), exceptionState); 69 v8UnsignedArray, 0, scope.isolate(), exceptionState);
70 EXPECT_EQ(3U, unsignedVector.size()); 70 EXPECT_EQ(3U, unsignedVector.size());
71 EXPECT_EQ(42U, unsignedVector[0]); 71 EXPECT_EQ(42U, unsignedVector[0]);
72 EXPECT_EQ(1729U, unsignedVector[1]); 72 EXPECT_EQ(1729U, unsignedVector[1]);
73 EXPECT_EQ(31773U, unsignedVector[2]); 73 EXPECT_EQ(31773U, unsignedVector[2]);
74 } 74 }
75 { 75 {
76 const double doublePi = 3.141592653589793238; 76 const double doublePi = 3.141592653589793238;
77 const float floatPi = doublePi; 77 const float floatPi = doublePi;
78 v8::Local<v8::Array> v8RealArray = v8::Array::New(scope.isolate(), 1); 78 v8::Local<v8::Array> v8RealArray = v8::Array::New(scope.isolate(), 1);
79 EXPECT_TRUE(v8CallBoolean(v8RealArray->Set(scope.context(), toV8(&scope, 0), 79 EXPECT_TRUE(v8CallBoolean(v8RealArray->Set(scope.context(), ToV8(&scope, 0),
80 toV8(&scope, doublePi)))); 80 ToV8(&scope, doublePi))));
81 81
82 NonThrowableExceptionState exceptionState; 82 NonThrowableExceptionState exceptionState;
83 Vector<double> doubleVector = toImplArray<Vector<double>>( 83 Vector<double> doubleVector = toImplArray<Vector<double>>(
84 v8RealArray, 0, scope.isolate(), exceptionState); 84 v8RealArray, 0, scope.isolate(), exceptionState);
85 EXPECT_EQ(1U, doubleVector.size()); 85 EXPECT_EQ(1U, doubleVector.size());
86 EXPECT_EQ(doublePi, doubleVector[0]); 86 EXPECT_EQ(doublePi, doubleVector[0]);
87 87
88 Vector<float> floatVector = toImplArray<Vector<float>>( 88 Vector<float> floatVector = toImplArray<Vector<float>>(
89 v8RealArray, 0, scope.isolate(), exceptionState); 89 v8RealArray, 0, scope.isolate(), exceptionState);
90 EXPECT_EQ(1U, floatVector.size()); 90 EXPECT_EQ(1U, floatVector.size());
91 EXPECT_EQ(floatPi, floatVector[0]); 91 EXPECT_EQ(floatPi, floatVector[0]);
92 } 92 }
93 { 93 {
94 v8::Local<v8::Array> v8Array = v8::Array::New(scope.isolate(), 3); 94 v8::Local<v8::Array> v8Array = v8::Array::New(scope.isolate(), 3);
95 EXPECT_TRUE(v8CallBoolean(v8Array->Set(scope.context(), toV8(&scope, 0), 95 EXPECT_TRUE(v8CallBoolean(v8Array->Set(scope.context(), ToV8(&scope, 0),
96 toV8(&scope, "Vini, vidi, vici.")))); 96 ToV8(&scope, "Vini, vidi, vici."))));
97 EXPECT_TRUE(v8CallBoolean( 97 EXPECT_TRUE(v8CallBoolean(
98 v8Array->Set(scope.context(), toV8(&scope, 1), toV8(&scope, 65535)))); 98 v8Array->Set(scope.context(), ToV8(&scope, 1), ToV8(&scope, 65535))));
99 EXPECT_TRUE(v8CallBoolean( 99 EXPECT_TRUE(v8CallBoolean(
100 v8Array->Set(scope.context(), toV8(&scope, 2), toV8(&scope, 0.125)))); 100 v8Array->Set(scope.context(), ToV8(&scope, 2), ToV8(&scope, 0.125))));
101 101
102 NonThrowableExceptionState exceptionState; 102 NonThrowableExceptionState exceptionState;
103 Vector<v8::Local<v8::Value>> v8HandleVector = 103 Vector<v8::Local<v8::Value>> v8HandleVector =
104 toImplArray<Vector<v8::Local<v8::Value>>>(v8Array, 0, scope.isolate(), 104 toImplArray<Vector<v8::Local<v8::Value>>>(v8Array, 0, scope.isolate(),
105 exceptionState); 105 exceptionState);
106 EXPECT_EQ(3U, v8HandleVector.size()); 106 EXPECT_EQ(3U, v8HandleVector.size());
107 EXPECT_EQ("Vini, vidi, vici.", 107 EXPECT_EQ("Vini, vidi, vici.",
108 toUSVString(scope.isolate(), v8HandleVector[0], exceptionState)); 108 toUSVString(scope.isolate(), v8HandleVector[0], exceptionState));
109 EXPECT_EQ(65535U, toUInt32(scope.isolate(), v8HandleVector[1], 109 EXPECT_EQ(65535U, toUInt32(scope.isolate(), v8HandleVector[1],
110 NormalConversion, exceptionState)); 110 NormalConversion, exceptionState));
111 111
112 Vector<ScriptValue> scriptValueVector = toImplArray<Vector<ScriptValue>>( 112 Vector<ScriptValue> scriptValueVector = toImplArray<Vector<ScriptValue>>(
113 v8Array, 0, scope.isolate(), exceptionState); 113 v8Array, 0, scope.isolate(), exceptionState);
114 EXPECT_EQ(3U, scriptValueVector.size()); 114 EXPECT_EQ(3U, scriptValueVector.size());
115 String reportOnZela; 115 String reportOnZela;
116 EXPECT_TRUE(scriptValueVector[0].toString(reportOnZela)); 116 EXPECT_TRUE(scriptValueVector[0].toString(reportOnZela));
117 EXPECT_EQ("Vini, vidi, vici.", reportOnZela); 117 EXPECT_EQ("Vini, vidi, vici.", reportOnZela);
118 EXPECT_EQ(65535U, toUInt32(scope.isolate(), scriptValueVector[1].v8Value(), 118 EXPECT_EQ(65535U, toUInt32(scope.isolate(), scriptValueVector[1].v8Value(),
119 NormalConversion, exceptionState)); 119 NormalConversion, exceptionState));
120 } 120 }
121 { 121 {
122 v8::Local<v8::Array> v8StringArray1 = v8::Array::New(scope.isolate(), 2); 122 v8::Local<v8::Array> v8StringArray1 = v8::Array::New(scope.isolate(), 2);
123 EXPECT_TRUE(v8CallBoolean(v8StringArray1->Set( 123 EXPECT_TRUE(v8CallBoolean(v8StringArray1->Set(
124 scope.context(), toV8(&scope, 0), toV8(&scope, "foo")))); 124 scope.context(), ToV8(&scope, 0), ToV8(&scope, "foo"))));
125 EXPECT_TRUE(v8CallBoolean(v8StringArray1->Set( 125 EXPECT_TRUE(v8CallBoolean(v8StringArray1->Set(
126 scope.context(), toV8(&scope, 1), toV8(&scope, "bar")))); 126 scope.context(), ToV8(&scope, 1), ToV8(&scope, "bar"))));
127 v8::Local<v8::Array> v8StringArray2 = v8::Array::New(scope.isolate(), 3); 127 v8::Local<v8::Array> v8StringArray2 = v8::Array::New(scope.isolate(), 3);
128 EXPECT_TRUE(v8CallBoolean(v8StringArray2->Set( 128 EXPECT_TRUE(v8CallBoolean(v8StringArray2->Set(
129 scope.context(), toV8(&scope, 0), toV8(&scope, "x")))); 129 scope.context(), ToV8(&scope, 0), ToV8(&scope, "x"))));
130 EXPECT_TRUE(v8CallBoolean(v8StringArray2->Set( 130 EXPECT_TRUE(v8CallBoolean(v8StringArray2->Set(
131 scope.context(), toV8(&scope, 1), toV8(&scope, "y")))); 131 scope.context(), ToV8(&scope, 1), ToV8(&scope, "y"))));
132 EXPECT_TRUE(v8CallBoolean(v8StringArray2->Set( 132 EXPECT_TRUE(v8CallBoolean(v8StringArray2->Set(
133 scope.context(), toV8(&scope, 2), toV8(&scope, "z")))); 133 scope.context(), ToV8(&scope, 2), ToV8(&scope, "z"))));
134 v8::Local<v8::Array> v8StringArrayArray = 134 v8::Local<v8::Array> v8StringArrayArray =
135 v8::Array::New(scope.isolate(), 2); 135 v8::Array::New(scope.isolate(), 2);
136 EXPECT_TRUE(v8CallBoolean(v8StringArrayArray->Set( 136 EXPECT_TRUE(v8CallBoolean(v8StringArrayArray->Set(
137 scope.context(), toV8(&scope, 0), v8StringArray1))); 137 scope.context(), ToV8(&scope, 0), v8StringArray1)));
138 EXPECT_TRUE(v8CallBoolean(v8StringArrayArray->Set( 138 EXPECT_TRUE(v8CallBoolean(v8StringArrayArray->Set(
139 scope.context(), toV8(&scope, 1), v8StringArray2))); 139 scope.context(), ToV8(&scope, 1), v8StringArray2)));
140 140
141 NonThrowableExceptionState exceptionState; 141 NonThrowableExceptionState exceptionState;
142 Vector<Vector<String>> stringVectorVector = 142 Vector<Vector<String>> stringVectorVector =
143 toImplArray<Vector<Vector<String>>>(v8StringArrayArray, 0, 143 toImplArray<Vector<Vector<String>>>(v8StringArrayArray, 0,
144 scope.isolate(), exceptionState); 144 scope.isolate(), exceptionState);
145 EXPECT_EQ(2U, stringVectorVector.size()); 145 EXPECT_EQ(2U, stringVectorVector.size());
146 EXPECT_EQ(2U, stringVectorVector[0].size()); 146 EXPECT_EQ(2U, stringVectorVector[0].size());
147 EXPECT_EQ("foo", stringVectorVector[0][0]); 147 EXPECT_EQ("foo", stringVectorVector[0][0]);
148 EXPECT_EQ("bar", stringVectorVector[0][1]); 148 EXPECT_EQ("bar", stringVectorVector[0][1]);
149 EXPECT_EQ(3U, stringVectorVector[1].size()); 149 EXPECT_EQ(3U, stringVectorVector[1].size());
150 EXPECT_EQ("x", stringVectorVector[1][0]); 150 EXPECT_EQ("x", stringVectorVector[1][0]);
151 EXPECT_EQ("y", stringVectorVector[1][1]); 151 EXPECT_EQ("y", stringVectorVector[1][1]);
152 EXPECT_EQ("z", stringVectorVector[1][2]); 152 EXPECT_EQ("z", stringVectorVector[1][2]);
153 } 153 }
154 } 154 }
155 155
156 } // namespace 156 } // namespace
157 157
158 } // namespace blink 158 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698