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

Unified Diff: Source/bindings/core/v8/V8BindingTest.cpp

Issue 400493005: Make vector conversion more general in V8Bindings (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: finished self review, PTAL Created 6 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 side-by-side diff with in-line comments
Download patch
Index: Source/bindings/core/v8/V8BindingTest.cpp
diff --git a/Source/bindings/core/v8/V8BindingTest.cpp b/Source/bindings/core/v8/V8BindingTest.cpp
index 31efeb6a5127ff7f6c3a3b6253925bdffbf5b1d7..d16dadf9968b2034d11eac6b3f57f7e52b4a71e4 100644
--- a/Source/bindings/core/v8/V8BindingTest.cpp
+++ b/Source/bindings/core/v8/V8BindingTest.cpp
@@ -154,6 +154,58 @@ TEST_F(V8ValueTraitsTest, vector)
CHECK_TOV8VALUE("foo,bar", v);
}
+TEST_F(V8ValueTraitsTest, stringVectors)
+{
+ Vector<String> stringVector;
+ stringVector.append("foo");
+ stringVector.append("bar");
+ CHECK_TOV8VALUE("foo,bar", stringVector);
+
+ Vector<AtomicString> atomicStringVector;
+ atomicStringVector.append("quux");
+ atomicStringVector.append("bar");
+ CHECK_TOV8VALUE("quux,bar", atomicStringVector);
+}
+
+TEST_F(V8ValueTraitsTest, basicTypeVectors)
+{
+ Vector<int> intVector;
+ intVector.append(42);
+ intVector.append(23);
+ CHECK_TOV8VALUE("42,23", intVector);
+
+ Vector<long> longVector;
+ longVector.append(31773);
+ longVector.append(404);
+ CHECK_TOV8VALUE("31773,404", longVector);
+
+ Vector<unsigned> unsignedVector;
+ unsignedVector.append(1);
+ unsignedVector.append(2);
+ CHECK_TOV8VALUE("1,2", unsignedVector);
+
+ Vector<unsigned long> unsignedLongVector;
+ unsignedLongVector.append(1001);
+ unsignedLongVector.append(2002);
+ CHECK_TOV8VALUE("1001,2002", unsignedLongVector);
+
+ Vector<float> floatVector;
+ floatVector.append(0.125);
+ floatVector.append(1.);
+ CHECK_TOV8VALUE("0.125,1", floatVector);
+
+ Vector<double> doubleVector;
+ doubleVector.append(2.3);
+ doubleVector.append(4.2);
+ CHECK_TOV8VALUE("2.3,4.2", doubleVector);
+
+ Vector<bool> boolVector;
+ boolVector.append(true);
+ boolVector.append(true);
+ boolVector.append(false);
+ CHECK_TOV8VALUE("true,true,false", boolVector);
+}
+
TEST_F(V8ValueTraitsTest, heapVector)
{
HeapVector<Member<GarbageCollectedScriptWrappable> > v;
@@ -164,6 +216,58 @@ TEST_F(V8ValueTraitsTest, heapVector)
CHECK_TOV8VALUE("hoge,fuga,", v);
}
+TEST_F(V8ValueTraitsTest, stringHeapVectors)
+{
+ HeapVector<String> stringVector;
+ stringVector.append("foo");
+ stringVector.append("bar");
+ CHECK_TOV8VALUE("foo,bar", stringVector);
+
+ HeapVector<AtomicString> atomicStringVector;
+ atomicStringVector.append("quux");
+ atomicStringVector.append("bar");
+ CHECK_TOV8VALUE("quux,bar", atomicStringVector);
+}
+
+TEST_F(V8ValueTraitsTest, basicTypeHeapVectors)
+{
+ HeapVector<int> intVector;
+ intVector.append(42);
+ intVector.append(23);
+ CHECK_TOV8VALUE("42,23", intVector);
+
+ HeapVector<long> longVector;
+ longVector.append(31773);
+ longVector.append(404);
+ CHECK_TOV8VALUE("31773,404", longVector);
+
+ HeapVector<unsigned> unsignedVector;
+ unsignedVector.append(1);
+ unsignedVector.append(2);
+ CHECK_TOV8VALUE("1,2", unsignedVector);
+
+ HeapVector<unsigned long> unsignedLongVector;
+ unsignedLongVector.append(1001);
+ unsignedLongVector.append(2002);
+ CHECK_TOV8VALUE("1001,2002", unsignedLongVector);
+
+ HeapVector<float> floatVector;
+ floatVector.append(0.125);
+ floatVector.append(1.);
+ CHECK_TOV8VALUE("0.125,1", floatVector);
+
+ HeapVector<double> doubleVector;
+ doubleVector.append(2.3);
+ doubleVector.append(4.2);
+ CHECK_TOV8VALUE("2.3,4.2", doubleVector);
+
+ HeapVector<bool> boolVector;
+ boolVector.append(true);
+ boolVector.append(true);
+ boolVector.append(false);
+ CHECK_TOV8VALUE("true,true,false", boolVector);
+}
+
TEST_F(V8ValueTraitsTest, scriptValue)
{
ScriptValue value(m_scope.scriptState(), v8::Number::New(m_scope.isolate(), 1234));
« Source/bindings/core/v8/V8Binding.h ('K') | « Source/bindings/core/v8/V8Binding.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698