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

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

Issue 1594653003: Move utilities for V8 extras functions into V8Binding.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move to V8Binding.h and fix tests Created 4 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ReadableStreamOperations.h" 5 #include "bindings/core/v8/ReadableStreamOperations.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ScriptFunction.h" 8 #include "bindings/core/v8/ScriptFunction.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "bindings/core/v8/V8Binding.h" 10 #include "bindings/core/v8/V8Binding.h"
11 #include "bindings/core/v8/V8BindingForTesting.h" 11 #include "bindings/core/v8/V8BindingForTesting.h"
12 #include "bindings/core/v8/V8BindingMacros.h" 12 #include "bindings/core/v8/V8BindingMacros.h"
13 #include "bindings/core/v8/V8IteratorResultValue.h" 13 #include "bindings/core/v8/V8IteratorResultValue.h"
14 #include "bindings/core/v8/V8ThrowException.h" 14 #include "bindings/core/v8/V8ThrowException.h"
15 #include "core/dom/Document.h"
15 #include "platform/heap/Handle.h" 16 #include "platform/heap/Handle.h"
16 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
17 #include <v8.h> 18 #include <v8.h>
18 19
19 namespace blink { 20 namespace blink {
20 21
21 namespace { 22 namespace {
22 23
23 class NotReached : public ScriptFunction { 24 class NotReached : public ScriptFunction {
24 public: 25 public:
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 { 104 {
104 m_iteration->set(value); 105 m_iteration->set(value);
105 return value; 106 return value;
106 } 107 }
107 108
108 Member<Iteration> m_iteration; 109 Member<Iteration> m_iteration;
109 }; 110 };
110 111
111 class ReadableStreamOperationsTest : public ::testing::Test { 112 class ReadableStreamOperationsTest : public ::testing::Test {
112 public: 113 public:
113 ReadableStreamOperationsTest() : m_scope(v8::Isolate::GetCurrent()), m_block (isolate()) {} 114 ReadableStreamOperationsTest()
115 : m_scope(v8::Isolate::GetCurrent())
116 , m_block(isolate())
117 , m_document(Document::create())
118 {
119 scriptState()->setExecutionContext(m_document.get());
120 }
114 ~ReadableStreamOperationsTest() override 121 ~ReadableStreamOperationsTest() override
115 { 122 {
116 // Execute all pending microtasks 123 // Execute all pending microtasks
117 isolate()->RunMicrotasks(); 124 isolate()->RunMicrotasks();
118 EXPECT_FALSE(m_block.HasCaught()); 125 EXPECT_FALSE(m_block.HasCaught());
119 } 126 }
120 127
121 ScriptState* scriptState() const { return m_scope.scriptState(); } 128 ScriptState* scriptState() const { return m_scope.scriptState(); }
122 v8::Isolate* isolate() const { return scriptState()->isolate(); } 129 v8::Isolate* isolate() const { return scriptState()->isolate(); }
123 130
(...skipping 17 matching lines...) Expand all
141 v8::MaybeLocal<v8::Value> r = eval(s); 148 v8::MaybeLocal<v8::Value> r = eval(s);
142 if (block.HasCaught()) { 149 if (block.HasCaught()) {
143 ADD_FAILURE() << toCoreString(block.Exception()->ToString(isolate()) ).utf8().data(); 150 ADD_FAILURE() << toCoreString(block.Exception()->ToString(isolate()) ).utf8().data();
144 block.ReThrow(); 151 block.ReThrow();
145 } 152 }
146 return r; 153 return r;
147 } 154 }
148 155
149 V8TestingScope m_scope; 156 V8TestingScope m_scope;
150 v8::TryCatch m_block; 157 v8::TryCatch m_block;
158 RefPtrWillBePersistent<Document> m_document;
151 }; 159 };
152 160
153 TEST_F(ReadableStreamOperationsTest, IsReadableStream) 161 TEST_F(ReadableStreamOperationsTest, IsReadableStream)
154 { 162 {
155 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(scriptState(), v8::U ndefined(isolate()))); 163 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(scriptState(), v8::U ndefined(isolate())));
156 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(scriptState(), v8::N ull(isolate()))); 164 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(scriptState(), v8::N ull(isolate())));
157 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(scriptState(), v8::O bject::New(isolate()))); 165 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(scriptState(), v8::O bject::New(isolate())));
158 v8::Local<v8::Value> stream; 166 v8::Local<v8::Value> stream;
159 ASSERT_TRUE(v8Call(evalWithPrintingError("new ReadableStream()"), stream)); 167 ASSERT_TRUE(v8Call(evalWithPrintingError("new ReadableStream()"), stream));
160 EXPECT_TRUE(ReadableStreamOperations::isReadableStream(scriptState(), stream )); 168 EXPECT_TRUE(ReadableStreamOperations::isReadableStream(scriptState(), stream ));
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 EXPECT_EQ("hello", it1->value()); 256 EXPECT_EQ("hello", it1->value());
249 EXPECT_TRUE(it2->isSet()); 257 EXPECT_TRUE(it2->isSet());
250 EXPECT_TRUE(it2->isValid()); 258 EXPECT_TRUE(it2->isValid());
251 EXPECT_TRUE(it2->isDone()); 259 EXPECT_TRUE(it2->isDone());
252 } 260 }
253 261
254 } // namespace 262 } // namespace
255 263
256 } // namespace blink 264 } // namespace blink
257 265
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698