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

Unified Diff: Source/core/streams/ReadableStreamTest.cpp

Issue 901013002: Revert of Introduce ExclusiveStreamReader. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « Source/core/streams/ReadableStreamImpl.h ('k') | Source/core/xmlhttprequest/XMLHttpRequest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/streams/ReadableStreamTest.cpp
diff --git a/Source/core/streams/ReadableStreamTest.cpp b/Source/core/streams/ReadableStreamTest.cpp
index b99ca6b36e9c447c795cf344171a2501552b40b2..945d802364a3347baba7d9dd0e42f1409d222808 100644
--- a/Source/core/streams/ReadableStreamTest.cpp
+++ b/Source/core/streams/ReadableStreamTest.cpp
@@ -13,7 +13,6 @@
#include "core/dom/DOMException.h"
#include "core/dom/Document.h"
#include "core/dom/ExceptionCode.h"
-#include "core/streams/ExclusiveStreamReader.h"
#include "core/streams/ReadableStreamImpl.h"
#include "core/streams/UnderlyingSource.h"
#include "core/testing/DummyPageHolder.h"
@@ -29,8 +28,8 @@
namespace {
-using Checkpoint = ::testing::StrictMock<::testing::MockFunction<void(int)>>;
-using StringStream = ReadableStreamImpl<ReadableStreamChunkTypeTraits<String>>;
+typedef ::testing::StrictMock<::testing::MockFunction<void(int)> > Checkpoint;
+typedef ReadableStreamImpl<ReadableStreamChunkTypeTraits<String> > StringStream;
class StringCapturingFunction : public ScriptFunction {
public:
@@ -173,7 +172,7 @@
EXPECT_FALSE(stream->isStarted());
EXPECT_FALSE(stream->isDraining());
EXPECT_FALSE(stream->isPulling());
- EXPECT_EQ(stream->stateInternal(), ReadableStream::Waiting);
+ EXPECT_EQ(stream->state(), ReadableStream::Waiting);
checkpoint.Call(0);
stream->didSourceStart();
@@ -182,7 +181,7 @@
EXPECT_TRUE(stream->isStarted());
EXPECT_FALSE(stream->isDraining());
EXPECT_TRUE(stream->isPulling());
- EXPECT_EQ(stream->stateInternal(), ReadableStream::Waiting);
+ EXPECT_EQ(stream->state(), ReadableStream::Waiting);
// We need to call |error| in order to make
// ActiveDOMObject::hasPendingActivity return false.
@@ -196,14 +195,14 @@
EXPECT_FALSE(stream->isStarted());
EXPECT_FALSE(stream->isDraining());
EXPECT_FALSE(stream->isPulling());
- EXPECT_EQ(stream->stateInternal(), ReadableStream::Waiting);
+ EXPECT_EQ(stream->state(), ReadableStream::Waiting);
stream->error(DOMException::create(NotFoundError));
EXPECT_FALSE(stream->isStarted());
EXPECT_FALSE(stream->isDraining());
EXPECT_FALSE(stream->isPulling());
- EXPECT_EQ(stream->stateInternal(), ReadableStream::Errored);
+ EXPECT_EQ(stream->state(), ReadableStream::Errored);
}
TEST_F(ReadableStreamTest, WaitOnWaiting)
@@ -211,11 +210,15 @@
StringStream* stream = construct();
Checkpoint checkpoint;
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isStarted());
EXPECT_TRUE(stream->isPulling());
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ ScriptPromise p = stream->ready(scriptState());
+ ScriptPromise q = stream->ready(scriptState());
+
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
+ EXPECT_EQ(q, p);
stream->error(DOMException::create(AbortError, "done"));
}
@@ -225,7 +228,7 @@
StringStream* stream = new StringStream(scriptState()->executionContext(), m_underlyingSource);
Checkpoint checkpoint;
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_FALSE(stream->isStarted());
EXPECT_FALSE(stream->isPulling());
@@ -241,7 +244,7 @@
stream->didSourceStart();
checkpoint.Call(1);
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isStarted());
EXPECT_TRUE(stream->isPulling());
@@ -255,16 +258,17 @@
ScriptPromise promise = stream->ready(scriptState());
promise.then(createCaptor(&onFulfilled), createCaptor(&onRejected));
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isPulling());
stream->error(DOMException::create(NotFoundError, "hello, error"));
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
- EXPECT_TRUE(stream->isPulling());
- EXPECT_TRUE(onFulfilled.isNull());
- EXPECT_TRUE(onRejected.isNull());
-
- isolate()->RunMicrotasks();
- EXPECT_TRUE(onFulfilled.isNull());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
+ EXPECT_TRUE(stream->isPulling());
+ EXPECT_TRUE(onFulfilled.isNull());
+ EXPECT_TRUE(onRejected.isNull());
+
+ isolate()->RunMicrotasks();
+ EXPECT_TRUE(onFulfilled.isNull());
+ EXPECT_EQ(promise, stream->ready(scriptState()));
EXPECT_EQ("NotFoundError: hello, error", onRejected);
}
@@ -273,11 +277,11 @@
StringStream* stream = construct();
stream->error(DOMException::create(NotFoundError, "error"));
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
bool result = stream->enqueue("hello");
EXPECT_FALSE(result);
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
}
TEST_F(ReadableStreamTest, CloseAndEnqueue)
@@ -285,31 +289,31 @@
StringStream* stream = construct();
stream->close();
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
bool result = stream->enqueue("hello");
EXPECT_FALSE(result);
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
}
TEST_F(ReadableStreamTest, EnqueueAndWait)
{
StringStream* stream = construct();
String onFulfilled, onRejected;
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
bool result = stream->enqueue("hello");
EXPECT_TRUE(result);
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
stream->ready(scriptState()).then(createCaptor(&onFulfilled), createCaptor(&onRejected));
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
- EXPECT_FALSE(stream->isPulling());
- EXPECT_TRUE(onFulfilled.isNull());
- EXPECT_TRUE(onRejected.isNull());
-
- isolate()->RunMicrotasks();
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
+ EXPECT_FALSE(stream->isPulling());
+ EXPECT_TRUE(onFulfilled.isNull());
+ EXPECT_TRUE(onRejected.isNull());
+
+ isolate()->RunMicrotasks();
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
EXPECT_EQ("undefined", onFulfilled);
EXPECT_TRUE(onRejected.isNull());
@@ -321,19 +325,19 @@
{
StringStream* stream = construct();
String onFulfilled, onRejected;
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
stream->ready(scriptState()).then(createCaptor(&onFulfilled), createCaptor(&onRejected));
isolate()->RunMicrotasks();
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isPulling());
EXPECT_TRUE(onFulfilled.isNull());
EXPECT_TRUE(onRejected.isNull());
bool result = stream->enqueue("hello");
EXPECT_TRUE(result);
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
EXPECT_TRUE(onFulfilled.isNull());
EXPECT_TRUE(onRejected.isNull());
@@ -349,20 +353,20 @@
{
StringStream* stream = construct();
String onFulfilled, onRejected;
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
ScriptPromise promise = stream->ready(scriptState());
promise.then(createCaptor(&onFulfilled), createCaptor(&onRejected));
isolate()->RunMicrotasks();
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isPulling());
EXPECT_TRUE(onFulfilled.isNull());
EXPECT_TRUE(onRejected.isNull());
bool result = stream->enqueue("hello");
EXPECT_TRUE(result);
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
EXPECT_TRUE(onFulfilled.isNull());
EXPECT_TRUE(onRejected.isNull());
@@ -372,7 +376,7 @@
EXPECT_TRUE(onRejected.isNull());
stream->error(DOMException::create(NotFoundError, "error"));
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
EXPECT_NE(promise, stream->ready(scriptState()));
}
@@ -384,7 +388,7 @@
StringStream* stream = construct();
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
stream->ready(scriptState()).then(createCaptor(&onWaitFulfilled), createCaptor(&onWaitRejected));
stream->closed(scriptState()).then(createCaptor(&onClosedFulfilled), createCaptor(&onClosedRejected));
@@ -395,7 +399,7 @@
EXPECT_TRUE(onClosedRejected.isNull());
stream->close();
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
isolate()->RunMicrotasks();
EXPECT_EQ("undefined", onWaitFulfilled);
EXPECT_TRUE(onWaitRejected.isNull());
@@ -407,13 +411,13 @@
{
String onFulfilled, onRejected;
StringStream* stream = construct();
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
stream->closed(scriptState()).then(createCaptor(&onFulfilled), createCaptor(&onRejected));
stream->error(DOMException::create(NotFoundError, "error"));
stream->close();
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
isolate()->RunMicrotasks();
EXPECT_TRUE(onFulfilled.isNull());
@@ -423,11 +427,11 @@
TEST_F(ReadableStreamTest, ReadWhenWaiting)
{
StringStream* stream = construct();
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_FALSE(m_exceptionState.hadException());
stream->read(scriptState(), m_exceptionState);
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(m_exceptionState.hadException());
EXPECT_EQ(V8TypeError, m_exceptionState.code());
EXPECT_EQ("read is called while state is waiting", m_exceptionState.message());
@@ -440,11 +444,11 @@
StringStream* stream = construct();
stream->close();
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
EXPECT_FALSE(m_exceptionState.hadException());
stream->read(scriptState(), m_exceptionState);
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
EXPECT_TRUE(m_exceptionState.hadException());
EXPECT_EQ(V8TypeError, m_exceptionState.code());
EXPECT_EQ("read is called while state is closed", m_exceptionState.message());
@@ -458,11 +462,11 @@
StringStream* stream = construct();
stream->error(DOMException::create(NotFoundError, "error"));
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
EXPECT_FALSE(m_exceptionState.hadException());
stream->read(scriptState(), m_exceptionState);
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
EXPECT_TRUE(m_exceptionState.hadException());
EXPECT_EQ(notFoundExceptionCode, m_exceptionState.code());
EXPECT_EQ("error", m_exceptionState.message());
@@ -483,7 +487,7 @@
stream->enqueue("hello");
ScriptPromise promise = stream->ready(scriptState());
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
checkpoint.Call(0);
@@ -492,7 +496,7 @@
checkpoint.Call(1);
EXPECT_FALSE(m_exceptionState.hadException());
EXPECT_EQ("hello", chunk);
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isPulling());
EXPECT_FALSE(stream->isDraining());
@@ -522,7 +526,7 @@
EXPECT_TRUE(stream->enqueue("hello"));
EXPECT_TRUE(stream->enqueue("bye"));
ScriptPromise promise = stream->ready(scriptState());
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
String chunk;
@@ -531,7 +535,7 @@
checkpoint.Call(1);
EXPECT_FALSE(m_exceptionState.hadException());
EXPECT_EQ("hello", chunk);
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_TRUE(stream->isPulling());
EXPECT_FALSE(stream->isDraining());
@@ -541,7 +545,7 @@
stream->error(DOMException::create(AbortError, "done"));
}
-TEST_F(ReadableStreamTest, ReadQueue)
+TEST_F(ReadableStreamTest, InternalRead)
{
StringStream* stream = construct();
Checkpoint checkpoint;
@@ -557,19 +561,19 @@
EXPECT_TRUE(stream->enqueue("hello"));
EXPECT_TRUE(stream->enqueue("bye"));
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
String chunk;
checkpoint.Call(0);
- stream->readInternal(queue);
+ stream->read(queue);
checkpoint.Call(1);
ASSERT_EQ(2u, queue.size());
EXPECT_EQ(std::make_pair(String("hello"), static_cast<size_t>(5)), queue[0]);
EXPECT_EQ(std::make_pair(String("bye"), static_cast<size_t>(3)), queue[1]);
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
EXPECT_TRUE(stream->isPulling());
EXPECT_FALSE(stream->isDraining());
}
@@ -586,7 +590,7 @@
EXPECT_FALSE(stream->enqueue("should be ignored"));
ScriptPromise promise = stream->ready(scriptState());
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
EXPECT_TRUE(stream->isDraining());
@@ -597,7 +601,7 @@
isolate()->RunMicrotasks();
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
EXPECT_FALSE(stream->isPulling());
EXPECT_TRUE(stream->isDraining());
@@ -607,7 +611,7 @@
EXPECT_EQ(promise, stream->ready(scriptState()));
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
EXPECT_FALSE(stream->isPulling());
EXPECT_TRUE(stream->isDraining());
@@ -624,10 +628,10 @@
StringStream* stream = construct();
String onFulfilled, onRejected;
stream->close();
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
ScriptPromise promise = stream->cancel(scriptState(), ScriptValue());
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
promise.then(createCaptor(&onFulfilled), createCaptor(&onRejected));
EXPECT_TRUE(onFulfilled.isNull());
@@ -643,10 +647,10 @@
StringStream* stream = construct();
String onFulfilled, onRejected;
stream->error(DOMException::create(NotFoundError, "error"));
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
ScriptPromise promise = stream->cancel(scriptState(), ScriptValue());
- EXPECT_EQ(ReadableStream::Errored, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Errored, stream->state());
promise.then(createCaptor(&onFulfilled), createCaptor(&onRejected));
EXPECT_TRUE(onFulfilled.isNull());
@@ -669,10 +673,11 @@
EXPECT_CALL(*m_underlyingSource, cancelSource(scriptState(), reason)).WillOnce(Return(promise));
}
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
ScriptPromise ready = stream->ready(scriptState());
EXPECT_NE(promise, stream->cancel(scriptState(), reason));
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
+ EXPECT_EQ(stream->ready(scriptState()), ready);
ready.then(createCaptor(&onFulfilled), createCaptor(&onRejected));
EXPECT_TRUE(onFulfilled.isNull());
@@ -698,13 +703,13 @@
stream->enqueue("hello");
ScriptPromise ready = stream->ready(scriptState());
- EXPECT_EQ(ReadableStream::Readable, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Readable, stream->state());
ScriptPromise cancelResult = stream->cancel(scriptState(), reason);
cancelResult.then(createCaptor(&onCancelFulfilled), createCaptor(&onCancelRejected));
EXPECT_NE(promise, cancelResult);
- EXPECT_EQ(ReadableStream::Closed, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Closed, stream->state());
EXPECT_EQ(stream->ready(scriptState()), ready);
@@ -729,7 +734,7 @@
Checkpoint checkpoint;
StringStream* stream = construct(strategy);
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
{
InSequence s;
@@ -761,7 +766,7 @@
Checkpoint checkpoint;
StringStream* stream = construct(strategy);
- EXPECT_EQ(ReadableStream::Waiting, stream->stateInternal());
+ EXPECT_EQ(ReadableStream::Waiting, stream->state());
{
InSequence s;
@@ -806,22 +811,4 @@
stream->error(DOMException::create(AbortError, "done"));
}
-// Note: Detailed tests are on ExclusiveStreamReaderTest.
-TEST_F(ReadableStreamTest, ExclusiveStreamReader)
-{
- StringStream* stream = construct();
- ExclusiveStreamReader* reader = stream->getReader(m_exceptionState);
-
- ASSERT_TRUE(reader);
- EXPECT_FALSE(m_exceptionState.hadException());
- EXPECT_TRUE(reader->isActive());
- EXPECT_TRUE(stream->isLockedTo(reader));
-
- ExclusiveStreamReader* another = stream->getReader(m_exceptionState);
- ASSERT_EQ(nullptr, another);
- EXPECT_TRUE(m_exceptionState.hadException());
- EXPECT_TRUE(reader->isActive());
- EXPECT_TRUE(stream->isLockedTo(reader));
-}
-
} // namespace blink
« no previous file with comments | « Source/core/streams/ReadableStreamImpl.h ('k') | Source/core/xmlhttprequest/XMLHttpRequest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698