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

Side by Side Diff: Source/modules/fetch/DataConsumerHandleUtilTest.cpp

Issue 1176243004: Add FetchDataConsumerHandle and utility functions/classes (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Build break fix. Created 5 years, 6 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "modules/fetch/DataConsumerHandleUtil.h"
7
8 #include "modules/fetch/DataConsumerHandleTestUtil.h"
9
10 namespace blink {
11
12 namespace {
13
14 const WebDataConsumerHandle::Result kShouldWait = WebDataConsumerHandle::ShouldW ait;
15 const WebDataConsumerHandle::Result kDone = WebDataConsumerHandle::Done;
16 const WebDataConsumerHandle::Result kUnexpectedError = WebDataConsumerHandle::Un expectedError;
17 const WebDataConsumerHandle::Flags kNone = WebDataConsumerHandle::FlagNone;
18
19 TEST(DataConsumerHandleUtilTest, CreateWaitingHandle)
20 {
21 char buffer[20];
22 const void* p = nullptr;
23 size_t size = 0;
24 OwnPtr<WebDataConsumerHandle> handle = createWaitingDataConsumerHandle();
25 OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr) ;
26
27 EXPECT_EQ(kShouldWait, reader->read(buffer, sizeof(buffer), kNone, &size));
28 EXPECT_EQ(kShouldWait, reader->beginRead(&p, kNone, &size));
29 EXPECT_EQ(kUnexpectedError, reader->endRead(99));
30 }
31
32 TEST(CompositeDataConsumerHandleTest, WaitingHandleNoNotification)
33 {
34 DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest test;
35 // Test this function doesn't crash.
36 test.run(createWaitingDataConsumerHandle());
37 }
38
39 TEST(DataConsumerHandleUtilTest, CreateDoneHandle)
40 {
41 char buffer[20];
42 const void* p = nullptr;
43 size_t size = 0;
44 OwnPtr<WebDataConsumerHandle> handle = createDoneDataConsumerHandle();
45 OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr) ;
46
47 EXPECT_EQ(kDone, reader->read(buffer, sizeof(buffer), kNone, &size));
48 EXPECT_EQ(kDone, reader->beginRead(&p, kNone, &size));
49 EXPECT_EQ(kUnexpectedError, reader->endRead(99));
50 }
51
52 TEST(DataConsumerHandleUtilTest, DoneHandleNotification)
53 {
54 DataConsumerHandleTestUtil::ThreadingHandleNotificationTest test;
55 // Test this function returns.
56 test.run(createDoneDataConsumerHandle());
57 }
58
59 TEST(CompositeDataConsumerHandleTest, DoneHandleNoNotification)
60 {
61 DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest test;
62 // Test this function doesn't crash.
63 test.run(createDoneDataConsumerHandle());
64 }
65
66 TEST(DataConsumerHandleUtilTest, CreateUnexpectedErrorHandle)
67 {
68 char buffer[20];
69 const void* p = nullptr;
70 size_t size = 0;
71 OwnPtr<WebDataConsumerHandle> handle = createUnexpectedErrorDataConsumerHand le();
72 OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr) ;
73
74 EXPECT_EQ(kUnexpectedError, reader->read(buffer, sizeof(buffer), kNone, &siz e));
75 EXPECT_EQ(kUnexpectedError, reader->beginRead(&p, kNone, &size));
76 EXPECT_EQ(kUnexpectedError, reader->endRead(99));
77 }
78
79 TEST(DataConsumerHandleUtilTest, UnexpectedErrorHandleNotification)
80 {
81 DataConsumerHandleTestUtil::ThreadingHandleNotificationTest test;
82 // Test this function returns.
83 test.run(createUnexpectedErrorDataConsumerHandle());
84 }
85
86 TEST(CompositeDataConsumerHandleTest, UnexpectedErrorHandleNoNotification)
87 {
88 DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest test;
89 // Test this function doesn't crash.
90 test.run(createUnexpectedErrorDataConsumerHandle());
91 }
92
93 } // namespace
94
95 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/fetch/DataConsumerHandleUtil.cpp ('k') | Source/modules/fetch/FetchDataConsumerHandle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698