OLD | NEW |
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 "modules/fetch/DataConsumerHandleUtil.h" | 5 #include "modules/fetch/DataConsumerHandleUtil.h" |
6 | 6 |
7 #include "modules/fetch/DataConsumerHandleTestUtil.h" | 7 #include "modules/fetch/DataConsumerHandleTestUtil.h" |
8 #include <memory> | |
9 | 8 |
10 namespace blink { | 9 namespace blink { |
11 | 10 |
12 namespace { | 11 namespace { |
13 | 12 |
14 const WebDataConsumerHandle::Result kShouldWait = WebDataConsumerHandle::ShouldW
ait; | 13 const WebDataConsumerHandle::Result kShouldWait = WebDataConsumerHandle::ShouldW
ait; |
15 const WebDataConsumerHandle::Result kDone = WebDataConsumerHandle::Done; | 14 const WebDataConsumerHandle::Result kDone = WebDataConsumerHandle::Done; |
16 const WebDataConsumerHandle::Result kUnexpectedError = WebDataConsumerHandle::Un
expectedError; | 15 const WebDataConsumerHandle::Result kUnexpectedError = WebDataConsumerHandle::Un
expectedError; |
17 const WebDataConsumerHandle::Flags kNone = WebDataConsumerHandle::FlagNone; | 16 const WebDataConsumerHandle::Flags kNone = WebDataConsumerHandle::FlagNone; |
18 | 17 |
19 TEST(DataConsumerHandleUtilTest, CreateWaitingHandle) | 18 TEST(DataConsumerHandleUtilTest, CreateWaitingHandle) |
20 { | 19 { |
21 char buffer[20]; | 20 char buffer[20]; |
22 const void* p = nullptr; | 21 const void* p = nullptr; |
23 size_t size = 0; | 22 size_t size = 0; |
24 std::unique_ptr<WebDataConsumerHandle> handle = createWaitingDataConsumerHan
dle(); | 23 OwnPtr<WebDataConsumerHandle> handle = createWaitingDataConsumerHandle(); |
25 std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader
(nullptr); | 24 OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr)
; |
26 | 25 |
27 EXPECT_EQ(kShouldWait, reader->read(buffer, sizeof(buffer), kNone, &size)); | 26 EXPECT_EQ(kShouldWait, reader->read(buffer, sizeof(buffer), kNone, &size)); |
28 EXPECT_EQ(kShouldWait, reader->beginRead(&p, kNone, &size)); | 27 EXPECT_EQ(kShouldWait, reader->beginRead(&p, kNone, &size)); |
29 EXPECT_EQ(kUnexpectedError, reader->endRead(99)); | 28 EXPECT_EQ(kUnexpectedError, reader->endRead(99)); |
30 } | 29 } |
31 | 30 |
32 TEST(DataConsumerHandleUtilTest, WaitingHandleNoNotification) | 31 TEST(DataConsumerHandleUtilTest, WaitingHandleNoNotification) |
33 { | 32 { |
34 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest> test =
DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest::create(); | 33 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest> test =
DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest::create(); |
35 // Test this function doesn't crash. | 34 // Test this function doesn't crash. |
36 test->run(createWaitingDataConsumerHandle()); | 35 test->run(createWaitingDataConsumerHandle()); |
37 } | 36 } |
38 | 37 |
39 TEST(DataConsumerHandleUtilTest, CreateDoneHandle) | 38 TEST(DataConsumerHandleUtilTest, CreateDoneHandle) |
40 { | 39 { |
41 char buffer[20]; | 40 char buffer[20]; |
42 const void* p = nullptr; | 41 const void* p = nullptr; |
43 size_t size = 0; | 42 size_t size = 0; |
44 std::unique_ptr<WebDataConsumerHandle> handle = createDoneDataConsumerHandle
(); | 43 OwnPtr<WebDataConsumerHandle> handle = createDoneDataConsumerHandle(); |
45 std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader
(nullptr); | 44 OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr)
; |
46 | 45 |
47 EXPECT_EQ(kDone, reader->read(buffer, sizeof(buffer), kNone, &size)); | 46 EXPECT_EQ(kDone, reader->read(buffer, sizeof(buffer), kNone, &size)); |
48 EXPECT_EQ(kDone, reader->beginRead(&p, kNone, &size)); | 47 EXPECT_EQ(kDone, reader->beginRead(&p, kNone, &size)); |
49 EXPECT_EQ(kUnexpectedError, reader->endRead(99)); | 48 EXPECT_EQ(kUnexpectedError, reader->endRead(99)); |
50 } | 49 } |
51 | 50 |
52 TEST(DataConsumerHandleUtilTest, DoneHandleNotification) | 51 TEST(DataConsumerHandleUtilTest, DoneHandleNotification) |
53 { | 52 { |
54 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNotificationTest> test = D
ataConsumerHandleTestUtil::ThreadingHandleNotificationTest::create(); | 53 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNotificationTest> test = D
ataConsumerHandleTestUtil::ThreadingHandleNotificationTest::create(); |
55 // Test this function returns. | 54 // Test this function returns. |
56 test->run(createDoneDataConsumerHandle()); | 55 test->run(createDoneDataConsumerHandle()); |
57 } | 56 } |
58 | 57 |
59 TEST(DataConsumerHandleUtilTest, DoneHandleNoNotification) | 58 TEST(DataConsumerHandleUtilTest, DoneHandleNoNotification) |
60 { | 59 { |
61 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest> test =
DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest::create(); | 60 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest> test =
DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest::create(); |
62 // Test this function doesn't crash. | 61 // Test this function doesn't crash. |
63 test->run(createDoneDataConsumerHandle()); | 62 test->run(createDoneDataConsumerHandle()); |
64 } | 63 } |
65 | 64 |
66 TEST(DataConsumerHandleUtilTest, CreateUnexpectedErrorHandle) | 65 TEST(DataConsumerHandleUtilTest, CreateUnexpectedErrorHandle) |
67 { | 66 { |
68 char buffer[20]; | 67 char buffer[20]; |
69 const void* p = nullptr; | 68 const void* p = nullptr; |
70 size_t size = 0; | 69 size_t size = 0; |
71 std::unique_ptr<WebDataConsumerHandle> handle = createUnexpectedErrorDataCon
sumerHandle(); | 70 OwnPtr<WebDataConsumerHandle> handle = createUnexpectedErrorDataConsumerHand
le(); |
72 std::unique_ptr<WebDataConsumerHandle::Reader> reader = handle->obtainReader
(nullptr); | 71 OwnPtr<WebDataConsumerHandle::Reader> reader = handle->obtainReader(nullptr)
; |
73 | 72 |
74 EXPECT_EQ(kUnexpectedError, reader->read(buffer, sizeof(buffer), kNone, &siz
e)); | 73 EXPECT_EQ(kUnexpectedError, reader->read(buffer, sizeof(buffer), kNone, &siz
e)); |
75 EXPECT_EQ(kUnexpectedError, reader->beginRead(&p, kNone, &size)); | 74 EXPECT_EQ(kUnexpectedError, reader->beginRead(&p, kNone, &size)); |
76 EXPECT_EQ(kUnexpectedError, reader->endRead(99)); | 75 EXPECT_EQ(kUnexpectedError, reader->endRead(99)); |
77 } | 76 } |
78 | 77 |
79 TEST(DataConsumerHandleUtilTest, UnexpectedErrorHandleNotification) | 78 TEST(DataConsumerHandleUtilTest, UnexpectedErrorHandleNotification) |
80 { | 79 { |
81 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNotificationTest> test = D
ataConsumerHandleTestUtil::ThreadingHandleNotificationTest::create(); | 80 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNotificationTest> test = D
ataConsumerHandleTestUtil::ThreadingHandleNotificationTest::create(); |
82 // Test this function returns. | 81 // Test this function returns. |
83 test->run(createUnexpectedErrorDataConsumerHandle()); | 82 test->run(createUnexpectedErrorDataConsumerHandle()); |
84 } | 83 } |
85 | 84 |
86 TEST(DataConsumerHandleUtilTest, UnexpectedErrorHandleNoNotification) | 85 TEST(DataConsumerHandleUtilTest, UnexpectedErrorHandleNoNotification) |
87 { | 86 { |
88 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest> test =
DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest::create(); | 87 RefPtr<DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest> test =
DataConsumerHandleTestUtil::ThreadingHandleNoNotificationTest::create(); |
89 // Test this function doesn't crash. | 88 // Test this function doesn't crash. |
90 test->run(createUnexpectedErrorDataConsumerHandle()); | 89 test->run(createUnexpectedErrorDataConsumerHandle()); |
91 } | 90 } |
92 | 91 |
93 } // namespace | 92 } // namespace |
94 | 93 |
95 } // namespace blink | 94 } // namespace blink |
OLD | NEW |