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

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
« no previous file with comments | « Source/modules/serviceworkers/BodyStreamBuffer.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 EXPECT_EQ(0, observer2->writeCount()); 133 EXPECT_EQ(0, observer2->writeCount());
134 EXPECT_EQ(0, observer2->closeCount()); 134 EXPECT_EQ(0, observer2->closeCount());
135 EXPECT_EQ(0, observer2->errorCount()); 135 EXPECT_EQ(0, observer2->errorCount());
136 } 136 }
137 137
138 TEST(BodyStreamBufferTest, CreateBlob) 138 TEST(BodyStreamBufferTest, CreateBlob)
139 { 139 {
140 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 140 BodyStreamBuffer* buffer = new BodyStreamBuffer();
141 BlobHandleCallback* callback1 = new BlobHandleCallback(); 141 BlobHandleCallback* callback1 = new BlobHandleCallback();
142 BlobHandleCallback* callback2 = new BlobHandleCallback(); 142 BlobHandleCallback* callback2 = new BlobHandleCallback();
143 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback1)); 143 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle("text/html", callback1));
144 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle(callback2)); 144 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle("text/html", callback2));
145 buffer->write(DOMArrayBuffer::create("foobar", 6)); 145 buffer->write(DOMArrayBuffer::create("foobar", 6));
146 EXPECT_FALSE(callback1->blobHandle()); 146 EXPECT_FALSE(callback1->blobHandle());
147 buffer->write(DOMArrayBuffer::create("piyo", 4)); 147 buffer->write(DOMArrayBuffer::create("piyo", 4));
148 EXPECT_FALSE(callback1->blobHandle()); 148 EXPECT_FALSE(callback1->blobHandle());
149 buffer->close(); 149 buffer->close();
150 EXPECT_TRUE(callback1->blobHandle()); 150 EXPECT_TRUE(callback1->blobHandle());
151 EXPECT_EQ("text/html", callback1->blobHandle()->type());
151 EXPECT_FALSE(callback2->blobHandle()); 152 EXPECT_FALSE(callback2->blobHandle());
152 EXPECT_EQ(10u, callback1->blobHandle()->size()); 153 EXPECT_EQ(10u, callback1->blobHandle()->size());
153 WebVector<WebBlobData::Item*> items; 154 WebVector<WebBlobData::Item*> items;
154 EXPECT_TRUE(Platform::current()->unitTestSupport()->getBlobItems(callback1-> blobHandle()->uuid(), &items)); 155 EXPECT_TRUE(Platform::current()->unitTestSupport()->getBlobItems(callback1-> blobHandle()->uuid(), &items));
155 EXPECT_EQ(2u, items.size()); 156 EXPECT_EQ(2u, items.size());
156 EXPECT_EQ(6u, items[0]->data.size()); 157 EXPECT_EQ(6u, items[0]->data.size());
157 EXPECT_EQ(0, memcmp(items[0]->data.data(), "foobar", 6)); 158 EXPECT_EQ(0, memcmp(items[0]->data.data(), "foobar", 6));
158 EXPECT_EQ(4u, items[1]->data.size()); 159 EXPECT_EQ(4u, items[1]->data.size());
159 EXPECT_EQ(0, memcmp(items[1]->data.data(), "piyo", 4)); 160 EXPECT_EQ(0, memcmp(items[1]->data.data(), "piyo", 4));
160 EXPECT_FALSE(callback1->exception()); 161 EXPECT_FALSE(callback1->exception());
161 EXPECT_FALSE(callback2->exception()); 162 EXPECT_FALSE(callback2->exception());
162 } 163 }
163 164
164 TEST(BodyStreamBufferTest, CreateBlobAfterWrite) 165 TEST(BodyStreamBufferTest, CreateBlobAfterWrite)
165 { 166 {
166 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 167 BodyStreamBuffer* buffer = new BodyStreamBuffer();
167 BlobHandleCallback* callback = new BlobHandleCallback(); 168 BlobHandleCallback* callback = new BlobHandleCallback();
168 buffer->write(DOMArrayBuffer::create("foobar", 6)); 169 buffer->write(DOMArrayBuffer::create("foobar", 6));
169 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 170 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle("", callback));
170 buffer->close(); 171 buffer->close();
171 EXPECT_TRUE(callback->blobHandle()); 172 EXPECT_TRUE(callback->blobHandle());
172 EXPECT_EQ(6u, callback->blobHandle()->size()); 173 EXPECT_EQ(6u, callback->blobHandle()->size());
173 WebVector<WebBlobData::Item*> items; 174 WebVector<WebBlobData::Item*> items;
174 EXPECT_TRUE(Platform::current()->unitTestSupport()->getBlobItems(callback->b lobHandle()->uuid(), &items)); 175 EXPECT_TRUE(Platform::current()->unitTestSupport()->getBlobItems(callback->b lobHandle()->uuid(), &items));
175 EXPECT_EQ(1u, items.size()); 176 EXPECT_EQ(1u, items.size());
176 EXPECT_EQ(6u, items[0]->data.size()); 177 EXPECT_EQ(6u, items[0]->data.size());
177 EXPECT_EQ(0, memcmp(items[0]->data.data(), "foobar", 6)); 178 EXPECT_EQ(0, memcmp(items[0]->data.data(), "foobar", 6));
178 } 179 }
179 180
180 TEST(BodyStreamBufferTest, CreateBlobAfterClose) 181 TEST(BodyStreamBufferTest, CreateBlobAfterClose)
181 { 182 {
182 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 183 BodyStreamBuffer* buffer = new BodyStreamBuffer();
183 BlobHandleCallback* callback = new BlobHandleCallback(); 184 BlobHandleCallback* callback = new BlobHandleCallback();
184 buffer->write(DOMArrayBuffer::create("foobar", 6)); 185 buffer->write(DOMArrayBuffer::create("foobar", 6));
185 buffer->close(); 186 buffer->close();
186 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 187 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle("", callback));
187 EXPECT_TRUE(callback->blobHandle()); 188 EXPECT_TRUE(callback->blobHandle());
188 EXPECT_EQ(6u, callback->blobHandle()->size()); 189 EXPECT_EQ(6u, callback->blobHandle()->size());
189 WebVector<WebBlobData::Item*> items; 190 WebVector<WebBlobData::Item*> items;
190 EXPECT_TRUE(Platform::current()->unitTestSupport()->getBlobItems(callback->b lobHandle()->uuid(), &items)); 191 EXPECT_TRUE(Platform::current()->unitTestSupport()->getBlobItems(callback->b lobHandle()->uuid(), &items));
191 EXPECT_EQ(1u, items.size()); 192 EXPECT_EQ(1u, items.size());
192 EXPECT_EQ(6u, items[0]->data.size()); 193 EXPECT_EQ(6u, items[0]->data.size());
193 EXPECT_EQ(0, memcmp(items[0]->data.data(), "foobar", 6)); 194 EXPECT_EQ(0, memcmp(items[0]->data.data(), "foobar", 6));
194 } 195 }
195 196
196 TEST(BodyStreamBufferTest, CreateBlobException) 197 TEST(BodyStreamBufferTest, CreateBlobException)
197 { 198 {
198 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 199 BodyStreamBuffer* buffer = new BodyStreamBuffer();
199 BlobHandleCallback* callback1 = new BlobHandleCallback(); 200 BlobHandleCallback* callback1 = new BlobHandleCallback();
200 BlobHandleCallback* callback2 = new BlobHandleCallback(); 201 BlobHandleCallback* callback2 = new BlobHandleCallback();
201 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback1)); 202 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle("", callback1));
202 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle(callback2)); 203 EXPECT_FALSE(buffer->readAllAndCreateBlobHandle("", callback2));
203 buffer->write(DOMArrayBuffer::create("foobar", 6)); 204 buffer->write(DOMArrayBuffer::create("foobar", 6));
204 buffer->write(DOMArrayBuffer::create("piyo", 4)); 205 buffer->write(DOMArrayBuffer::create("piyo", 4));
205 EXPECT_FALSE(buffer->hasError()); 206 EXPECT_FALSE(buffer->hasError());
206 buffer->error(DOMException::create(NetworkError, "Error Message")); 207 buffer->error(DOMException::create(NetworkError, "Error Message"));
207 EXPECT_TRUE(buffer->hasError()); 208 EXPECT_TRUE(buffer->hasError());
208 EXPECT_FALSE(callback1->blobHandle()); 209 EXPECT_FALSE(callback1->blobHandle());
209 EXPECT_FALSE(callback2->blobHandle()); 210 EXPECT_FALSE(callback2->blobHandle());
210 EXPECT_TRUE(callback1->exception()); 211 EXPECT_TRUE(callback1->exception());
211 EXPECT_FALSE(callback2->exception()); 212 EXPECT_FALSE(callback2->exception());
212 EXPECT_EQ("NetworkError", callback1->exception()->name()); 213 EXPECT_EQ("NetworkError", callback1->exception()->name());
213 EXPECT_EQ("Error Message", callback1->exception()->message()); 214 EXPECT_EQ("Error Message", callback1->exception()->message());
214 } 215 }
215 216
216 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterWrite) 217 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterWrite)
217 { 218 {
218 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 219 BodyStreamBuffer* buffer = new BodyStreamBuffer();
219 BlobHandleCallback* callback = new BlobHandleCallback(); 220 BlobHandleCallback* callback = new BlobHandleCallback();
220 buffer->write(DOMArrayBuffer::create("foobar", 6)); 221 buffer->write(DOMArrayBuffer::create("foobar", 6));
221 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 222 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle("", callback));
222 buffer->error(DOMException::create(NetworkError, "Error Message")); 223 buffer->error(DOMException::create(NetworkError, "Error Message"));
223 EXPECT_TRUE(callback->exception()); 224 EXPECT_TRUE(callback->exception());
224 EXPECT_EQ("NetworkError", callback->exception()->name()); 225 EXPECT_EQ("NetworkError", callback->exception()->name());
225 EXPECT_EQ("Error Message", callback->exception()->message()); 226 EXPECT_EQ("Error Message", callback->exception()->message());
226 } 227 }
227 228
228 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterError) 229 TEST(BodyStreamBufferTest, CreateBlobExceptionAfterError)
229 { 230 {
230 BodyStreamBuffer* buffer = new BodyStreamBuffer(); 231 BodyStreamBuffer* buffer = new BodyStreamBuffer();
231 BlobHandleCallback* callback = new BlobHandleCallback(); 232 BlobHandleCallback* callback = new BlobHandleCallback();
232 buffer->write(DOMArrayBuffer::create("foobar", 6)); 233 buffer->write(DOMArrayBuffer::create("foobar", 6));
233 buffer->error(DOMException::create(NetworkError, "Error Message")); 234 buffer->error(DOMException::create(NetworkError, "Error Message"));
234 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle(callback)); 235 EXPECT_TRUE(buffer->readAllAndCreateBlobHandle("", callback));
235 EXPECT_TRUE(callback->exception()); 236 EXPECT_TRUE(callback->exception());
236 EXPECT_EQ("NetworkError", callback->exception()->name()); 237 EXPECT_EQ("NetworkError", callback->exception()->name());
237 EXPECT_EQ("Error Message", callback->exception()->message()); 238 EXPECT_EQ("Error Message", callback->exception()->message());
238 } 239 }
239 240
240 } // namespace blink 241 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/serviceworkers/BodyStreamBuffer.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698