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

Side by Side Diff: Source/modules/serviceworkers/BodyStreamBufferTest.cpp

Issue 787793002: [ServiceWorker] Add contentType argument to BodyStreamBuffer::readAllAndCreateBlobHandle. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 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 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 "config.h" 5 #include "config.h"
6 #include "modules/serviceworkers/BodyStreamBuffer.h" 6 #include "modules/serviceworkers/BodyStreamBuffer.h"
7 7
8 #include "core/dom/DOMArrayBuffer.h" 8 #include "core/dom/DOMArrayBuffer.h"
9 #include "core/dom/DOMException.h" 9 #include "core/dom/DOMException.h"
10 #include "core/dom/ExceptionCode.h" 10 #include "core/dom/ExceptionCode.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 return m_exception; 70 return m_exception;
71 } 71 }
72 72
73 private: 73 private:
74 RefPtr<BlobDataHandle> m_blobHandle; 74 RefPtr<BlobDataHandle> m_blobHandle;
75 RefPtrWillBeMember<DOMException> m_exception; 75 RefPtrWillBeMember<DOMException> m_exception;
76 }; 76 };
77 77
78 } // namespace 78 } // namespace
79 79
80 TEST(BodyStreamBufferTest, ContentType)
81 {
82 BodyStreamBuffer* buffer1 = new BodyStreamBuffer(String());
83 EXPECT_TRUE(buffer1->contentType().isEmpty());
84 BodyStreamBuffer* buffer2 = new BodyStreamBuffer("text/html");
85 EXPECT_EQ("text/html", buffer2->contentType());
86 }
87
80 TEST(BodyStreamBufferTest, Read) 88 TEST(BodyStreamBufferTest, Read)
81 { 89 {
82 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 90 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
83 RefPtr<DOMArrayBuffer> arrayBuffer1 = DOMArrayBuffer::create("foobar", 6); 91 RefPtr<DOMArrayBuffer> arrayBuffer1 = DOMArrayBuffer::create("foobar", 6);
84 RefPtr<DOMArrayBuffer> arrayBuffer2 = DOMArrayBuffer::create("abc", 3); 92 RefPtr<DOMArrayBuffer> arrayBuffer2 = DOMArrayBuffer::create("abc", 3);
85 RefPtr<DOMArrayBuffer> arrayBuffer3 = DOMArrayBuffer::create("piyo", 4); 93 RefPtr<DOMArrayBuffer> arrayBuffer3 = DOMArrayBuffer::create("piyo", 4);
86 buffer->write(arrayBuffer1); 94 buffer->write(arrayBuffer1);
87 buffer->write(arrayBuffer2); 95 buffer->write(arrayBuffer2);
88 EXPECT_EQ(arrayBuffer1, buffer->read()); 96 EXPECT_EQ(arrayBuffer1, buffer->read());
89 EXPECT_EQ(arrayBuffer2, buffer->read()); 97 EXPECT_EQ(arrayBuffer2, buffer->read());
90 EXPECT_FALSE(buffer->read()); 98 EXPECT_FALSE(buffer->read());
91 buffer->write(arrayBuffer3); 99 buffer->write(arrayBuffer3);
92 EXPECT_EQ(arrayBuffer3, buffer->read()); 100 EXPECT_EQ(arrayBuffer3, buffer->read());
93 EXPECT_FALSE(buffer->read()); 101 EXPECT_FALSE(buffer->read());
94 } 102 }
95 103
96 TEST(BodyStreamBufferTest, Exception) 104 TEST(BodyStreamBufferTest, Exception)
97 { 105 {
98 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 106 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
99 EXPECT_FALSE(buffer->exception()); 107 EXPECT_FALSE(buffer->exception());
100 buffer->error(DOMException::create(NetworkError, "Error Message")); 108 buffer->error(DOMException::create(NetworkError, "Error Message"));
101 EXPECT_TRUE(buffer->exception()); 109 EXPECT_TRUE(buffer->exception());
102 EXPECT_EQ("NetworkError", buffer->exception()->name()); 110 EXPECT_EQ("NetworkError", buffer->exception()->name());
103 EXPECT_EQ("Error Message", buffer->exception()->message()); 111 EXPECT_EQ("Error Message", buffer->exception()->message());
104 } 112 }
105 113
106 TEST(BodyStreamBufferTest, Observer) 114 TEST(BodyStreamBufferTest, Observer)
107 { 115 {
108 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 116 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
109 MockObserver* observer1 = new MockObserver(); 117 MockObserver* observer1 = new MockObserver();
110 MockObserver* observer2 = new MockObserver(); 118 MockObserver* observer2 = new MockObserver();
111 EXPECT_TRUE(buffer->registerObserver(observer1)); 119 EXPECT_TRUE(buffer->registerObserver(observer1));
112 EXPECT_FALSE(buffer->registerObserver(observer2)); 120 EXPECT_FALSE(buffer->registerObserver(observer2));
113 EXPECT_EQ(0, observer1->writeCount()); 121 EXPECT_EQ(0, observer1->writeCount());
114 EXPECT_EQ(0, observer1->closeCount()); 122 EXPECT_EQ(0, observer1->closeCount());
115 EXPECT_EQ(0, observer1->errorCount()); 123 EXPECT_EQ(0, observer1->errorCount());
116 buffer->write(DOMArrayBuffer::create("foobar", 6)); 124 buffer->write(DOMArrayBuffer::create("foobar", 6));
117 EXPECT_EQ(1, observer1->writeCount()); 125 EXPECT_EQ(1, observer1->writeCount());
118 EXPECT_EQ(0, observer1->closeCount()); 126 EXPECT_EQ(0, observer1->closeCount());
119 EXPECT_EQ(0, observer1->errorCount()); 127 EXPECT_EQ(0, observer1->errorCount());
120 buffer->write(DOMArrayBuffer::create("piyo", 4)); 128 buffer->write(DOMArrayBuffer::create("piyo", 4));
121 EXPECT_EQ(2, observer1->writeCount()); 129 EXPECT_EQ(2, observer1->writeCount());
122 EXPECT_EQ(0, observer1->closeCount()); 130 EXPECT_EQ(0, observer1->closeCount());
123 EXPECT_EQ(0, observer1->errorCount()); 131 EXPECT_EQ(0, observer1->errorCount());
124 EXPECT_FALSE(buffer->isClosed()); 132 EXPECT_FALSE(buffer->isClosed());
125 buffer->close(); 133 buffer->close();
126 EXPECT_TRUE(buffer->isClosed()); 134 EXPECT_TRUE(buffer->isClosed());
127 EXPECT_EQ(2, observer1->writeCount()); 135 EXPECT_EQ(2, observer1->writeCount());
128 EXPECT_EQ(1, observer1->closeCount()); 136 EXPECT_EQ(1, observer1->closeCount());
129 EXPECT_EQ(0, observer1->errorCount()); 137 EXPECT_EQ(0, observer1->errorCount());
130 EXPECT_EQ(0, observer2->writeCount()); 138 EXPECT_EQ(0, observer2->writeCount());
131 EXPECT_EQ(0, observer2->closeCount()); 139 EXPECT_EQ(0, observer2->closeCount());
132 EXPECT_EQ(0, observer2->errorCount()); 140 EXPECT_EQ(0, observer2->errorCount());
133 } 141 }
134 142
135 TEST(BodyStreamBufferTest, CreateBlob) 143 TEST(BodyStreamBufferTest, CreateBlob)
136 { 144 {
137 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 145 BodyStreamBuffer* buffer = new BodyStreamBuffer("text/plain");
138 BlobHandleCallback* callback1 = new BlobHandleCallback(); 146 BlobHandleCallback* callback1 = new BlobHandleCallback();
139 BlobHandleCallback* callback2 = new BlobHandleCallback(); 147 BlobHandleCallback* callback2 = new BlobHandleCallback();
140 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback1)); 148 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback1));
141 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle(callback2)); 149 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle(callback2));
142 buffer->write(DOMArrayBuffer::create("foobar", 6)); 150 buffer->write(DOMArrayBuffer::create("foobar", 6));
143 EXPECT_FALSE(callback1->blobHandle()); 151 EXPECT_FALSE(callback1->blobHandle());
144 buffer->write(DOMArrayBuffer::create("piyo", 4)); 152 buffer->write(DOMArrayBuffer::create("piyo", 4));
145 EXPECT_FALSE(callback1->blobHandle()); 153 EXPECT_FALSE(callback1->blobHandle());
146 buffer->close(); 154 buffer->close();
147 EXPECT_TRUE(callback1->blobHandle()); 155 EXPECT_TRUE(callback1->blobHandle());
148 EXPECT_FALSE(callback2->blobHandle()); 156 EXPECT_FALSE(callback2->blobHandle());
149 EXPECT_EQ(10u, callback1->blobHandle()->size()); 157 EXPECT_EQ(10u, callback1->blobHandle()->size());
158 EXPECT_EQ("text/plain", callback1->blobHandle()->type());
150 // FIXME: Check the content of the blob. 159 // FIXME: Check the content of the blob.
151 EXPECT_FALSE(callback1->exception()); 160 EXPECT_FALSE(callback1->exception());
152 EXPECT_FALSE(callback2->exception()); 161 EXPECT_FALSE(callback2->exception());
153 } 162 }
154 163
155 TEST(BodyStreamBufferTest, CreateBlobAfterWrite) 164 TEST(BodyStreamBufferTest, CreateBlobAfterWrite)
156 { 165 {
157 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 166 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
158 BlobHandleCallback* callback = new BlobHandleCallback(); 167 BlobHandleCallback* callback = new BlobHandleCallback();
159 buffer->write(DOMArrayBuffer::create("foobar", 6)); 168 buffer->write(DOMArrayBuffer::create("foobar", 6));
160 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 169 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback));
161 buffer->close(); 170 buffer->close();
162 EXPECT_TRUE(callback->blobHandle()); 171 EXPECT_TRUE(callback->blobHandle());
163 EXPECT_EQ(6u, callback->blobHandle()->size()); 172 EXPECT_EQ(6u, callback->blobHandle()->size());
164 // FIXME: Check the content of the blob. 173 // FIXME: Check the content of the blob.
165 } 174 }
166 175
167 TEST(BodyStreamBufferTest, CreateBlobAfterClose) 176 TEST(BodyStreamBufferTest, CreateBlobAfterClose)
168 { 177 {
169 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 178 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
170 BlobHandleCallback* callback = new BlobHandleCallback(); 179 BlobHandleCallback* callback = new BlobHandleCallback();
171 buffer->write(DOMArrayBuffer::create("foobar", 6)); 180 buffer->write(DOMArrayBuffer::create("foobar", 6));
172 buffer->close(); 181 buffer->close();
173 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 182 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback));
174 EXPECT_TRUE(callback->blobHandle()); 183 EXPECT_TRUE(callback->blobHandle());
175 EXPECT_EQ(6u, callback->blobHandle()->size()); 184 EXPECT_EQ(6u, callback->blobHandle()->size());
176 // FIXME: Check the content of the blob. 185 // FIXME: Check the content of the blob.
177 } 186 }
178 187
179 TEST(BodyStreamBufferTest, CreateBlobException) 188 TEST(BodyStreamBufferTest, CreateBlobException)
180 { 189 {
181 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 190 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
182 BlobHandleCallback* callback1 = new BlobHandleCallback(); 191 BlobHandleCallback* callback1 = new BlobHandleCallback();
183 BlobHandleCallback* callback2 = new BlobHandleCallback(); 192 BlobHandleCallback* callback2 = new BlobHandleCallback();
184 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback1)); 193 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback1));
185 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle(callback2)); 194 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle(callback2));
186 buffer->write(DOMArrayBuffer::create("foobar", 6)); 195 buffer->write(DOMArrayBuffer::create("foobar", 6));
187 buffer->write(DOMArrayBuffer::create("piyo", 4)); 196 buffer->write(DOMArrayBuffer::create("piyo", 4));
188 EXPECT_FALSE(buffer->hasError()); 197 EXPECT_FALSE(buffer->hasError());
189 buffer->error(DOMException::create(NetworkError, "Error Message")); 198 buffer->error(DOMException::create(NetworkError, "Error Message"));
190 EXPECT_TRUE(buffer->hasError()); 199 EXPECT_TRUE(buffer->hasError());
191 EXPECT_FALSE(callback1->blobHandle()); 200 EXPECT_FALSE(callback1->blobHandle());
192 EXPECT_FALSE(callback2->blobHandle()); 201 EXPECT_FALSE(callback2->blobHandle());
193 EXPECT_TRUE(callback1->exception()); 202 EXPECT_TRUE(callback1->exception());
194 EXPECT_FALSE(callback2->exception()); 203 EXPECT_FALSE(callback2->exception());
195 EXPECT_EQ("NetworkError", callback1->exception()->name()); 204 EXPECT_EQ("NetworkError", callback1->exception()->name());
196 EXPECT_EQ("Error Message", callback1->exception()->message()); 205 EXPECT_EQ("Error Message", callback1->exception()->message());
197 } 206 }
198 207
199 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterWrite) 208 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterWrite)
200 { 209 {
201 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 210 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
202 BlobHandleCallback* callback = new BlobHandleCallback(); 211 BlobHandleCallback* callback = new BlobHandleCallback();
203 buffer->write(DOMArrayBuffer::create("foobar", 6)); 212 buffer->write(DOMArrayBuffer::create("foobar", 6));
204 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 213 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback));
205 buffer->error(DOMException::create(NetworkError, "Error Message")); 214 buffer->error(DOMException::create(NetworkError, "Error Message"));
206 EXPECT_TRUE(callback->exception()); 215 EXPECT_TRUE(callback->exception());
207 EXPECT_EQ("NetworkError", callback->exception()->name()); 216 EXPECT_EQ("NetworkError", callback->exception()->name());
208 EXPECT_EQ("Error Message", callback->exception()->message()); 217 EXPECT_EQ("Error Message", callback->exception()->message());
209 } 218 }
210 219
211 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterError) 220 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterError)
212 { 221 {
213 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 222 BodyStreamBuffer* buffer = new BodyStreamBuffer(String());
214 BlobHandleCallback* callback = new BlobHandleCallback(); 223 BlobHandleCallback* callback = new BlobHandleCallback();
215 buffer->write(DOMArrayBuffer::create("foobar", 6)); 224 buffer->write(DOMArrayBuffer::create("foobar", 6));
216 buffer->error(DOMException::create(NetworkError, "Error Message")); 225 buffer->error(DOMException::create(NetworkError, "Error Message"));
217 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 226 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback));
218 EXPECT_TRUE(callback->exception()); 227 EXPECT_TRUE(callback->exception());
219 EXPECT_EQ("NetworkError", callback->exception()->name()); 228 EXPECT_EQ("NetworkError", callback->exception()->name());
220 EXPECT_EQ("Error Message", callback->exception()->message()); 229 EXPECT_EQ("Error Message", callback->exception()->message());
221 } 230 }
222 231
223 } // namespace blink 232 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698