Index: third_party/WebKit/Source/modules/payments/PaymentRequestTest.cpp |
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestTest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequestTest.cpp |
index 94f175ea319f79a5065063d496a7000d801f0a07..aee234ed0ace57c9e83886bb7cf32fdf5e0b08ee 100644 |
--- a/third_party/WebKit/Source/modules/payments/PaymentRequestTest.cpp |
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequestTest.cpp |
@@ -45,9 +45,16 @@ private: |
TrackExceptionState m_exceptionState; |
}; |
+HeapVector<PaymentMethodData> buildPaymentMethodDataForTest() |
+{ |
+ HeapVector<PaymentMethodData> methodData(1, PaymentMethodData()); |
+ methodData[0].setSupportedMethods(Vector<String>(1, "food")); |
+ return methodData; |
+} |
+ |
TEST_F(PaymentRequestTest, NoExceptionWithValidData) |
{ |
- PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
} |
@@ -56,7 +63,7 @@ TEST_F(PaymentRequestTest, SecureContextRequired) |
{ |
setSecurityOrigin("http://www.example.com"); |
- PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_TRUE(getExceptionState().hadException()); |
EXPECT_EQ(SecurityError, getExceptionState().code()); |
@@ -64,7 +71,7 @@ TEST_F(PaymentRequestTest, SecureContextRequired) |
TEST_F(PaymentRequestTest, SupportedMethodListRequired) |
{ |
- PaymentRequest::create(getScriptState(), Vector<String>(), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest::create(getScriptState(), HeapVector<PaymentMethodData>(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_TRUE(getExceptionState().hadException()); |
EXPECT_EQ(V8TypeError, getExceptionState().code()); |
@@ -72,7 +79,7 @@ TEST_F(PaymentRequestTest, SupportedMethodListRequired) |
TEST_F(PaymentRequestTest, ItemListRequired) |
{ |
- PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), PaymentDetails(), getExceptionState()); |
+ PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), PaymentDetails(), getExceptionState()); |
EXPECT_TRUE(getExceptionState().hadException()); |
EXPECT_EQ(V8TypeError, getExceptionState().code()); |
@@ -83,7 +90,7 @@ TEST_F(PaymentRequestTest, ItemListIsNotEmpty) |
PaymentDetails details; |
details.setItems(HeapVector<PaymentItem>()); |
- PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, getExceptionState()); |
+ PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, getExceptionState()); |
EXPECT_TRUE(getExceptionState().hadException()); |
EXPECT_EQ(V8TypeError, getExceptionState().code()); |
@@ -94,7 +101,7 @@ TEST_F(PaymentRequestTest, AtLeastOnePaymentDetailsItemRequired) |
PaymentDetails details; |
details.setShippingOptions(HeapVector<ShippingOption>(2, buildShippingOptionForTest())); |
- PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, getExceptionState()); |
+ PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, getExceptionState()); |
EXPECT_TRUE(getExceptionState().hadException()); |
EXPECT_EQ(V8TypeError, getExceptionState().code()); |
@@ -107,7 +114,7 @@ TEST_F(PaymentRequestTest, NullShippingOptionWhenNoOptionsAvailable) |
PaymentOptions options; |
options.setRequestShipping(true); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, options, getExceptionState()); |
EXPECT_TRUE(request->shippingOption().isNull()); |
} |
@@ -120,7 +127,7 @@ TEST_F(PaymentRequestTest, NullShippingOptionWhenMultipleOptionsAvailable) |
PaymentOptions options; |
options.setRequestShipping(true); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, options, getExceptionState()); |
EXPECT_TRUE(request->shippingOption().isNull()); |
} |
@@ -133,7 +140,7 @@ TEST_F(PaymentRequestTest, SelectSingleAvailableShippingOptionWhenShippingReques |
PaymentOptions options; |
options.setRequestShipping(true); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, options, getExceptionState()); |
EXPECT_EQ("standard", request->shippingOption()); |
} |
@@ -144,7 +151,7 @@ TEST_F(PaymentRequestTest, DontSelectSingleAvailableShippingOptionByDefault) |
details.setItems(HeapVector<PaymentItem>(1, buildPaymentItemForTest())); |
details.setShippingOptions(HeapVector<ShippingOption>(1, buildShippingOptionForTest(PaymentTestDataId, PaymentTestOverwriteValue, "standard"))); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, getExceptionState()); |
EXPECT_TRUE(request->shippingOption().isNull()); |
} |
@@ -157,14 +164,14 @@ TEST_F(PaymentRequestTest, DontSelectSingleAvailableShippingOptionWhenShippingNo |
PaymentOptions options; |
options.setRequestShipping(false); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, options, getExceptionState()); |
EXPECT_TRUE(request->shippingOption().isNull()); |
} |
TEST_F(PaymentRequestTest, AbortWithoutShowShouldThrow) |
{ |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->abort(getExceptionState()); |
@@ -206,7 +213,7 @@ private: |
TEST_F(PaymentRequestTest, CanAbortAfterShow) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::noExpectations(getScriptState())); |
@@ -218,7 +225,7 @@ TEST_F(PaymentRequestTest, CanAbortAfterShow) |
TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddress) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectCall(getScriptState())); |
@@ -229,7 +236,7 @@ TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddress) |
TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddressInResponse) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
mojom::blink::PaymentResponsePtr response = mojom::blink::PaymentResponse::New(); |
response->shipping_address = mojom::blink::ShippingAddress::New(); |
@@ -242,7 +249,7 @@ TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddressInResponse) |
TEST_F(PaymentRequestTest, DontRejectShowPromiseForValidShippingAddress) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
mojom::blink::ShippingAddressPtr shippingAddress = mojom::blink::ShippingAddress::New(); |
shippingAddress->region_code = "US"; |
@@ -257,7 +264,7 @@ TEST_F(PaymentRequestTest, DontRejectShowPromiseForValidShippingAddress) |
TEST_F(PaymentRequestTest, ResolveShowPromiseWithValidShippingAddressInResponse) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
mojom::blink::PaymentResponsePtr response = mojom::blink::PaymentResponse::New(); |
response->shipping_address = mojom::blink::ShippingAddress::New(); |
@@ -273,7 +280,7 @@ TEST_F(PaymentRequestTest, ResolveShowPromiseWithValidShippingAddressInResponse) |
TEST_F(PaymentRequestTest, ResolveShowPromiseWithoutShippingAddressInResponse) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
@@ -284,7 +291,7 @@ TEST_F(PaymentRequestTest, ResolveShowPromiseWithoutShippingAddressInResponse) |
TEST_F(PaymentRequestTest, OnShippingOptionChange) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
@@ -295,7 +302,7 @@ TEST_F(PaymentRequestTest, OnShippingOptionChange) |
TEST_F(PaymentRequestTest, CannotCallShowTwice) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()); |
@@ -305,7 +312,7 @@ TEST_F(PaymentRequestTest, CannotCallShowTwice) |
TEST_F(PaymentRequestTest, CannotCallCompleteTwice) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()); |
static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse(mojom::blink::PaymentResponse::New()); |
@@ -317,7 +324,7 @@ TEST_F(PaymentRequestTest, CannotCallCompleteTwice) |
TEST_F(PaymentRequestTest, RejectShowPromiseOnError) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectCall(getScriptState())); |
@@ -328,7 +335,7 @@ TEST_F(PaymentRequestTest, RejectShowPromiseOnError) |
TEST_F(PaymentRequestTest, RejectCompletePromiseOnError) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()); |
static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse(mojom::blink::PaymentResponse::New()); |
@@ -341,7 +348,7 @@ TEST_F(PaymentRequestTest, RejectCompletePromiseOnError) |
TEST_F(PaymentRequestTest, ResolvePromiseOnComplete) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()); |
static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse(mojom::blink::PaymentResponse::New()); |
@@ -354,7 +361,7 @@ TEST_F(PaymentRequestTest, ResolvePromiseOnComplete) |
TEST_F(PaymentRequestTest, RejectShowPromiseOnUpdateDetailsFailure) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectCall(getScriptState())); |
@@ -365,7 +372,7 @@ TEST_F(PaymentRequestTest, RejectShowPromiseOnUpdateDetailsFailure) |
TEST_F(PaymentRequestTest, RejectCompletePromiseOnUpdateDetailsFailure) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse(mojom::blink::PaymentResponse::New()); |
@@ -378,7 +385,7 @@ TEST_F(PaymentRequestTest, RejectCompletePromiseOnUpdateDetailsFailure) |
TEST_F(PaymentRequestTest, IgnoreUpdatePaymentDetailsAfterShowPromiseResolved) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse(mojom::blink::PaymentResponse::New()); |
@@ -389,7 +396,7 @@ TEST_F(PaymentRequestTest, IgnoreUpdatePaymentDetailsAfterShowPromiseResolved) |
TEST_F(PaymentRequestTest, RejectShowPromiseOnNonPaymentDetailsUpdate) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectCall(getScriptState())); |
@@ -400,7 +407,7 @@ TEST_F(PaymentRequestTest, RejectShowPromiseOnNonPaymentDetailsUpdate) |
TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidPaymentDetailsUpdate) |
{ |
ScriptState::Scope scope(getScriptState()); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectCall(getScriptState())); |
@@ -416,7 +423,7 @@ TEST_F(PaymentRequestTest, ClearShippingOptionOnPaymentDetailsUpdateWithoutShipp |
details.setItems(HeapVector<PaymentItem>(1, buildPaymentItemForTest())); |
PaymentOptions options; |
options.setRequestShipping(true); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), details, options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), details, options, getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
EXPECT_TRUE(request->shippingOption().isNull()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
@@ -438,7 +445,7 @@ TEST_F(PaymentRequestTest, ClearShippingOptionOnPaymentDetailsUpdateWithMultiple |
ScriptState::Scope scope(getScriptState()); |
PaymentOptions options; |
options.setRequestShipping(true); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), options, getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
String detail = "{\"items\": [{\"id\": \"total\", \"label\": \"Total\", \"amount\": {\"currency\": \"USD\", \"value\": \"5.00\"}}]," |
@@ -456,7 +463,7 @@ TEST_F(PaymentRequestTest, UseTheSingleShippingOptionFromPaymentDetailsUpdate) |
ScriptState::Scope scope(getScriptState()); |
PaymentOptions options; |
options.setRequestShipping(true); |
- PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<String>(1, "foo"), buildPaymentDetailsForTest(), options, getExceptionState()); |
+ PaymentRequest* request = PaymentRequest::create(getScriptState(), buildPaymentMethodDataForTest(), buildPaymentDetailsForTest(), options, getExceptionState()); |
EXPECT_FALSE(getExceptionState().hadException()); |
request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptState()), MockFunction::expectNoCall(getScriptState())); |
String detail = "{\"items\": [{\"id\": \"total\", \"label\": \"Total\", \"amount\": {\"currency\": \"USD\", \"value\": \"5.00\"}}]," |