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

Side by Side Diff: third_party/WebKit/Source/modules/payments/CanMakePaymentTest.cpp

Issue 2697123003: Use ExecutionContext instead of Document in PaymentRequest constructor. (Closed)
Patch Set: ExecutionContext in constructor only Created 3 years, 10 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 // Tests for PaymentRequest::canMakePayment(). 5 // Tests for PaymentRequest::canMakePayment().
6 6
7 #include "bindings/core/v8/V8BindingForTesting.h" 7 #include "bindings/core/v8/V8BindingForTesting.h"
8 #include "modules/payments/PaymentRequest.h" 8 #include "modules/payments/PaymentRequest.h"
9 #include "modules/payments/PaymentTestHelper.h" 9 #include "modules/payments/PaymentTestHelper.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace blink { 12 namespace blink {
13 namespace { 13 namespace {
14 14
15 using payments::mojom::blink::CanMakePaymentQueryResult; 15 using payments::mojom::blink::CanMakePaymentQueryResult;
16 using payments::mojom::blink::PaymentErrorReason; 16 using payments::mojom::blink::PaymentErrorReason;
17 using payments::mojom::blink::PaymentRequestClient; 17 using payments::mojom::blink::PaymentRequestClient;
18 18
19 TEST(CanMakePaymentTest, RejectPromiseOnUserCancel) { 19 TEST(CanMakePaymentTest, RejectPromiseOnUserCancel) {
20 V8TestingScope scope; 20 V8TestingScope scope;
21 PaymentRequestMockFunctionScope funcs(scope.getScriptState()); 21 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
22 makePaymentRequestOriginSecure(scope.document()); 22 makePaymentRequestOriginSecure(scope.document());
23 PaymentRequest* request = PaymentRequest::create( 23 PaymentRequest* request = PaymentRequest::create(
24 scope.document(), buildPaymentMethodDataForTest(), 24 scope.getExecutionContext(), buildPaymentMethodDataForTest(),
25 buildPaymentDetailsForTest(), scope.getExceptionState()); 25 buildPaymentDetailsForTest(), scope.getExceptionState());
26 26
27 request->canMakePayment(scope.getScriptState()) 27 request->canMakePayment(scope.getScriptState())
28 .then(funcs.expectNoCall(), funcs.expectCall()); 28 .then(funcs.expectNoCall(), funcs.expectCall());
29 29
30 static_cast<PaymentRequestClient*>(request)->OnError( 30 static_cast<PaymentRequestClient*>(request)->OnError(
31 PaymentErrorReason::USER_CANCEL); 31 PaymentErrorReason::USER_CANCEL);
32 } 32 }
33 33
34 TEST(CanMakePaymentTest, RejectPromiseOnUnknownError) { 34 TEST(CanMakePaymentTest, RejectPromiseOnUnknownError) {
35 V8TestingScope scope; 35 V8TestingScope scope;
36 PaymentRequestMockFunctionScope funcs(scope.getScriptState()); 36 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
37 makePaymentRequestOriginSecure(scope.document()); 37 makePaymentRequestOriginSecure(scope.document());
38 PaymentRequest* request = PaymentRequest::create( 38 PaymentRequest* request = PaymentRequest::create(
39 scope.document(), buildPaymentMethodDataForTest(), 39 scope.getExecutionContext(), buildPaymentMethodDataForTest(),
40 buildPaymentDetailsForTest(), scope.getExceptionState()); 40 buildPaymentDetailsForTest(), scope.getExceptionState());
41 41
42 request->canMakePayment(scope.getScriptState()) 42 request->canMakePayment(scope.getScriptState())
43 .then(funcs.expectNoCall(), funcs.expectCall()); 43 .then(funcs.expectNoCall(), funcs.expectCall());
44 44
45 static_cast<PaymentRequestClient*>(request)->OnError( 45 static_cast<PaymentRequestClient*>(request)->OnError(
46 PaymentErrorReason::UNKNOWN); 46 PaymentErrorReason::UNKNOWN);
47 } 47 }
48 48
49 TEST(CanMakePaymentTest, RejectDuplicateRequest) { 49 TEST(CanMakePaymentTest, RejectDuplicateRequest) {
50 V8TestingScope scope; 50 V8TestingScope scope;
51 PaymentRequestMockFunctionScope funcs(scope.getScriptState()); 51 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
52 makePaymentRequestOriginSecure(scope.document()); 52 makePaymentRequestOriginSecure(scope.document());
53 PaymentRequest* request = PaymentRequest::create( 53 PaymentRequest* request = PaymentRequest::create(
54 scope.document(), buildPaymentMethodDataForTest(), 54 scope.getExecutionContext(), buildPaymentMethodDataForTest(),
55 buildPaymentDetailsForTest(), scope.getExceptionState()); 55 buildPaymentDetailsForTest(), scope.getExceptionState());
56 request->canMakePayment(scope.getScriptState()); 56 request->canMakePayment(scope.getScriptState());
57 57
58 request->canMakePayment(scope.getScriptState()) 58 request->canMakePayment(scope.getScriptState())
59 .then(funcs.expectNoCall(), funcs.expectCall()); 59 .then(funcs.expectNoCall(), funcs.expectCall());
60 } 60 }
61 61
62 TEST(CanMakePaymentTest, RejectQueryQuotaExceeded) { 62 TEST(CanMakePaymentTest, RejectQueryQuotaExceeded) {
63 V8TestingScope scope; 63 V8TestingScope scope;
64 PaymentRequestMockFunctionScope funcs(scope.getScriptState()); 64 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
65 makePaymentRequestOriginSecure(scope.document()); 65 makePaymentRequestOriginSecure(scope.document());
66 PaymentRequest* request = PaymentRequest::create( 66 PaymentRequest* request = PaymentRequest::create(
67 scope.document(), buildPaymentMethodDataForTest(), 67 scope.getExecutionContext(), buildPaymentMethodDataForTest(),
68 buildPaymentDetailsForTest(), scope.getExceptionState()); 68 buildPaymentDetailsForTest(), scope.getExceptionState());
69 69
70 request->canMakePayment(scope.getScriptState()) 70 request->canMakePayment(scope.getScriptState())
71 .then(funcs.expectNoCall(), funcs.expectCall()); 71 .then(funcs.expectNoCall(), funcs.expectCall());
72 72
73 static_cast<PaymentRequestClient*>(request)->OnCanMakePayment( 73 static_cast<PaymentRequestClient*>(request)->OnCanMakePayment(
74 CanMakePaymentQueryResult::QUERY_QUOTA_EXCEEDED); 74 CanMakePaymentQueryResult::QUERY_QUOTA_EXCEEDED);
75 } 75 }
76 76
77 TEST(CanMakePaymentTest, ReturnCannotMakeCanMakePayment) { 77 TEST(CanMakePaymentTest, ReturnCannotMakeCanMakePayment) {
78 V8TestingScope scope; 78 V8TestingScope scope;
79 PaymentRequestMockFunctionScope funcs(scope.getScriptState()); 79 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
80 makePaymentRequestOriginSecure(scope.document()); 80 makePaymentRequestOriginSecure(scope.document());
81 PaymentRequest* request = PaymentRequest::create( 81 PaymentRequest* request = PaymentRequest::create(
82 scope.document(), buildPaymentMethodDataForTest(), 82 scope.getExecutionContext(), buildPaymentMethodDataForTest(),
83 buildPaymentDetailsForTest(), scope.getExceptionState()); 83 buildPaymentDetailsForTest(), scope.getExceptionState());
84 String captor; 84 String captor;
85 request->canMakePayment(scope.getScriptState()) 85 request->canMakePayment(scope.getScriptState())
86 .then(funcs.expectCall(&captor), funcs.expectNoCall()); 86 .then(funcs.expectCall(&captor), funcs.expectNoCall());
87 87
88 static_cast<PaymentRequestClient*>(request)->OnCanMakePayment( 88 static_cast<PaymentRequestClient*>(request)->OnCanMakePayment(
89 CanMakePaymentQueryResult::CANNOT_MAKE_PAYMENT); 89 CanMakePaymentQueryResult::CANNOT_MAKE_PAYMENT);
90 90
91 v8::MicrotasksScope::PerformCheckpoint(scope.getScriptState()->isolate()); 91 v8::MicrotasksScope::PerformCheckpoint(scope.getScriptState()->isolate());
92 EXPECT_EQ("false", captor); 92 EXPECT_EQ("false", captor);
93 } 93 }
94 94
95 TEST(CanMakePaymentTest, ReturnCanMakePayment) { 95 TEST(CanMakePaymentTest, ReturnCanMakePayment) {
96 V8TestingScope scope; 96 V8TestingScope scope;
97 PaymentRequestMockFunctionScope funcs(scope.getScriptState()); 97 PaymentRequestMockFunctionScope funcs(scope.getScriptState());
98 makePaymentRequestOriginSecure(scope.document()); 98 makePaymentRequestOriginSecure(scope.document());
99 PaymentRequest* request = PaymentRequest::create( 99 PaymentRequest* request = PaymentRequest::create(
100 scope.document(), buildPaymentMethodDataForTest(), 100 scope.getExecutionContext(), buildPaymentMethodDataForTest(),
101 buildPaymentDetailsForTest(), scope.getExceptionState()); 101 buildPaymentDetailsForTest(), scope.getExceptionState());
102 String captor; 102 String captor;
103 request->canMakePayment(scope.getScriptState()) 103 request->canMakePayment(scope.getScriptState())
104 .then(funcs.expectCall(&captor), funcs.expectNoCall()); 104 .then(funcs.expectCall(&captor), funcs.expectNoCall());
105 105
106 static_cast<PaymentRequestClient*>(request)->OnCanMakePayment( 106 static_cast<PaymentRequestClient*>(request)->OnCanMakePayment(
107 CanMakePaymentQueryResult::CAN_MAKE_PAYMENT); 107 CanMakePaymentQueryResult::CAN_MAKE_PAYMENT);
108 108
109 v8::MicrotasksScope::PerformCheckpoint(scope.getScriptState()->isolate()); 109 v8::MicrotasksScope::PerformCheckpoint(scope.getScriptState()->isolate());
110 EXPECT_EQ("true", captor); 110 EXPECT_EQ("true", captor);
111 } 111 }
112 112
113 } // namespace 113 } // namespace
114 } // namespace blink 114 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/payments/AbortTest.cpp ('k') | third_party/WebKit/Source/modules/payments/CompleteTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698