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

Side by Side Diff: content/browser/service_worker/service_worker_version_unittest.cc

Issue 2779093003: [ServiceWorker] Remove useless ServiceWorkerVersion::DispatchSimpleEvent(). (Closed)
Patch Set: Created 3 years, 8 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
« no previous file with comments | « content/browser/service_worker/service_worker_version.cc ('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 "content/browser/service_worker/service_worker_version.h" 5 #include "content/browser/service_worker/service_worker_version.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <tuple> 8 #include <tuple>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 23 matching lines...) Expand all
34 #include "ipc/ipc_message_macros.h" 34 #include "ipc/ipc_message_macros.h"
35 35
36 #define IPC_MESSAGE_START TestMsgStart 36 #define IPC_MESSAGE_START TestMsgStart
37 37
38 IPC_MESSAGE_CONTROL0(TestMsg_Message) 38 IPC_MESSAGE_CONTROL0(TestMsg_Message)
39 IPC_MESSAGE_ROUTED1(TestMsg_MessageFromWorker, int) 39 IPC_MESSAGE_ROUTED1(TestMsg_MessageFromWorker, int)
40 40
41 IPC_MESSAGE_CONTROL1(TestMsg_TestEvent, int) 41 IPC_MESSAGE_CONTROL1(TestMsg_TestEvent, int)
42 IPC_MESSAGE_CONTROL2(TestMsg_TestEvent_Multiple, int, int) 42 IPC_MESSAGE_CONTROL2(TestMsg_TestEvent_Multiple, int, int)
43 IPC_MESSAGE_ROUTED2(TestMsg_TestEventResult, int, std::string) 43 IPC_MESSAGE_ROUTED2(TestMsg_TestEventResult, int, std::string)
44 IPC_MESSAGE_ROUTED3(TestMsg_TestSimpleEventResult,
45 int,
46 blink::WebServiceWorkerEventResult,
47 base::Time)
48
49 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebServiceWorkerEventResult,
50 blink::WebServiceWorkerEventResultLast)
51 44
52 // --------------------------------------------------------------------------- 45 // ---------------------------------------------------------------------------
53 46
54 namespace content { 47 namespace content {
55 48
56 namespace { 49 namespace {
57 50
58 class MessageReceiver : public EmbeddedWorkerTestHelper { 51 class MessageReceiver : public EmbeddedWorkerTestHelper {
59 public: 52 public:
60 MessageReceiver() 53 MessageReceiver()
(...skipping 21 matching lines...) Expand all
82 SimulateSend(new TestMsg_MessageFromWorker(embedded_worker_id, value)); 75 SimulateSend(new TestMsg_MessageFromWorker(embedded_worker_id, value));
83 } 76 }
84 77
85 void SimulateSendEventResult(int embedded_worker_id, 78 void SimulateSendEventResult(int embedded_worker_id,
86 int request_id, 79 int request_id,
87 const std::string& reply) { 80 const std::string& reply) {
88 SimulateSend( 81 SimulateSend(
89 new TestMsg_TestEventResult(embedded_worker_id, request_id, reply)); 82 new TestMsg_TestEventResult(embedded_worker_id, request_id, reply));
90 } 83 }
91 84
92 void SimulateSendSimpleEventResult(int embedded_worker_id,
93 int request_id,
94 blink::WebServiceWorkerEventResult reply,
95 base::Time dispatch_event_time) {
96 SimulateSend(new TestMsg_TestSimpleEventResult(
97 embedded_worker_id, request_id, reply, dispatch_event_time));
98 }
99
100 private: 85 private:
101 void OnMessage() { 86 void OnMessage() {
102 // Do nothing. 87 // Do nothing.
103 } 88 }
104 89
105 int current_embedded_worker_id_; 90 int current_embedded_worker_id_;
106 DISALLOW_COPY_AND_ASSIGN(MessageReceiver); 91 DISALLOW_COPY_AND_ASSIGN(MessageReceiver);
107 }; 92 };
108 93
109 void VerifyCalled(bool* called) { 94 void VerifyCalled(bool* called) {
(...skipping 1440 matching lines...) Expand 10 before | Expand all | Expand 10 after
1550 1535
1551 // Verify correct response was received. 1536 // Verify correct response was received.
1552 EXPECT_EQ(request_id1, received_request_id1); 1537 EXPECT_EQ(request_id1, received_request_id1);
1553 EXPECT_EQ(request_id2, received_request_id2); 1538 EXPECT_EQ(request_id2, received_request_id2);
1554 EXPECT_EQ(reply1, received_data1); 1539 EXPECT_EQ(reply1, received_data1);
1555 EXPECT_EQ(SERVICE_WORKER_OK, status1); 1540 EXPECT_EQ(SERVICE_WORKER_OK, status1);
1556 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */, 1541 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */,
1557 base::Time::Now())); 1542 base::Time::Now()));
1558 } 1543 }
1559 1544
1560 TEST_F(ServiceWorkerVersionTest, DispatchSimpleEvent_Completed) {
falken 2017/03/30 03:51:39 I assume this test coverage is elsewhere for the M
leonhsl(Using Gerrit) 2017/03/30 07:13:10 This unit test is for testing SWVersion::DispatchS
1561 ServiceWorkerStatusCode status =
1562 SERVICE_WORKER_ERROR_MAX_VALUE; // dummy value
1563
1564 // Activate and start worker.
1565 version_->SetStatus(ServiceWorkerVersion::ACTIVATED);
1566 version_->StartWorker(ServiceWorkerMetrics::EventType::SYNC,
1567 CreateReceiverOnCurrentThread(&status));
1568 base::RunLoop().RunUntilIdle();
1569 EXPECT_EQ(SERVICE_WORKER_OK, status);
1570 EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status());
1571
1572 // Start request and dispatch test event.
1573 status = SERVICE_WORKER_ERROR_MAX_VALUE; // dummy value
1574 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner);
1575 int request_id = version_->StartRequest(
1576 ServiceWorkerMetrics::EventType::SYNC,
1577 CreateReceiverOnCurrentThread(&status, runner->QuitClosure()));
1578 version_->DispatchSimpleEvent<TestMsg_TestSimpleEventResult>(
1579 request_id, TestMsg_TestEvent(request_id));
1580
1581 // Verify event got dispatched to worker.
1582 base::RunLoop().RunUntilIdle();
1583 ASSERT_EQ(1u, helper_->inner_ipc_sink()->message_count());
1584 const IPC::Message* msg = helper_->inner_ipc_sink()->GetMessageAt(0);
1585 EXPECT_EQ(TestMsg_TestEvent::ID, msg->type());
1586
1587 // Simulate sending reply to event.
1588 helper_->SimulateSendSimpleEventResult(
1589 version_->embedded_worker()->embedded_worker_id(), request_id,
1590 blink::WebServiceWorkerEventResultCompleted, base::Time::Now());
1591 runner->Run();
1592
1593 // Verify callback was called with correct status.
1594 EXPECT_EQ(SERVICE_WORKER_OK, status);
1595 }
1596
1597 TEST_F(ServiceWorkerVersionTest, DispatchSimpleEvent_Rejected) {
1598 ServiceWorkerStatusCode status =
1599 SERVICE_WORKER_ERROR_MAX_VALUE; // dummy value
1600
1601 // Activate and start worker.
1602 version_->SetStatus(ServiceWorkerVersion::ACTIVATED);
1603 version_->StartWorker(ServiceWorkerMetrics::EventType::SYNC,
1604 CreateReceiverOnCurrentThread(&status));
1605 base::RunLoop().RunUntilIdle();
1606 EXPECT_EQ(SERVICE_WORKER_OK, status);
1607 EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status());
1608
1609 // Start request and dispatch test event.
1610 status = SERVICE_WORKER_ERROR_MAX_VALUE; // dummy value
1611 scoped_refptr<MessageLoopRunner> runner(new MessageLoopRunner);
1612 int request_id = version_->StartRequest(
1613 ServiceWorkerMetrics::EventType::SYNC,
1614 CreateReceiverOnCurrentThread(&status, runner->QuitClosure()));
1615 version_->DispatchSimpleEvent<TestMsg_TestSimpleEventResult>(
1616 request_id, TestMsg_TestEvent(request_id));
1617
1618 // Verify event got dispatched to worker.
1619 base::RunLoop().RunUntilIdle();
1620 ASSERT_EQ(1u, helper_->inner_ipc_sink()->message_count());
1621 const IPC::Message* msg = helper_->inner_ipc_sink()->GetMessageAt(0);
1622 EXPECT_EQ(TestMsg_TestEvent::ID, msg->type());
1623
1624 // Simulate sending reply to event.
1625 helper_->SimulateSendSimpleEventResult(
1626 version_->embedded_worker()->embedded_worker_id(), request_id,
1627 blink::WebServiceWorkerEventResultRejected, base::Time::Now());
1628 runner->Run();
1629
1630 // Verify callback was called with correct status.
1631 EXPECT_EQ(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED, status);
1632 }
1633
1634 TEST_F(ServiceWorkerVersionTest, DispatchEvent_MultipleResponse) { 1545 TEST_F(ServiceWorkerVersionTest, DispatchEvent_MultipleResponse) {
1635 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE; 1546 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_MAX_VALUE;
1636 1547
1637 // Activate and start worker. 1548 // Activate and start worker.
1638 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); 1549 version_->SetStatus(ServiceWorkerVersion::ACTIVATED);
1639 version_->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN, 1550 version_->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN,
1640 CreateReceiverOnCurrentThread(&status)); 1551 CreateReceiverOnCurrentThread(&status));
1641 base::RunLoop().RunUntilIdle(); 1552 base::RunLoop().RunUntilIdle();
1642 EXPECT_EQ(SERVICE_WORKER_OK, status); 1553 EXPECT_EQ(SERVICE_WORKER_OK, status);
1643 EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status()); 1554 EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, version_->running_status());
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1694 // Should not have timed out, so error callback should not have been 1605 // Should not have timed out, so error callback should not have been
1695 // called and FinishRequest should return true. 1606 // called and FinishRequest should return true.
1696 EXPECT_EQ(SERVICE_WORKER_OK, status); 1607 EXPECT_EQ(SERVICE_WORKER_OK, status);
1697 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */, 1608 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */,
1698 base::Time::Now())); 1609 base::Time::Now()));
1699 EXPECT_TRUE(version_->FinishRequest(request_id2, true /* was_handled */, 1610 EXPECT_TRUE(version_->FinishRequest(request_id2, true /* was_handled */,
1700 base::Time::Now())); 1611 base::Time::Now()));
1701 } 1612 }
1702 1613
1703 } // namespace content 1614 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_version.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698