| OLD | NEW |
| 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 #include "modules/payments/PaymentRequest.h" | 5 #include "modules/payments/PaymentRequest.h" |
| 6 | 6 |
| 7 #include "bindings/core/v8/ExceptionState.h" | 7 #include "bindings/core/v8/ExceptionState.h" |
| 8 #include "bindings/core/v8/JSONValuesForV8.h" | 8 #include "bindings/core/v8/JSONValuesForV8.h" |
| 9 #include "bindings/core/v8/ScriptState.h" | 9 #include "bindings/core/v8/ScriptState.h" |
| 10 #include "core/dom/ExceptionCode.h" | 10 #include "core/dom/ExceptionCode.h" |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 } | 216 } |
| 217 | 217 |
| 218 TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddress) | 218 TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddress) |
| 219 { | 219 { |
| 220 ScriptState::Scope scope(getScriptState()); | 220 ScriptState::Scope scope(getScriptState()); |
| 221 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); | 221 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
| 222 EXPECT_FALSE(getExceptionState().hadException()); | 222 EXPECT_FALSE(getExceptionState().hadException()); |
| 223 | 223 |
| 224 request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptSta
te()), MockFunction::expectCall(getScriptState())); | 224 request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptSta
te()), MockFunction::expectCall(getScriptState())); |
| 225 | 225 |
| 226 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnShippingAddress
Change(mojom::blink::ShippingAddress::New()); | 226 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnShippingAddress
Change(mojom::blink::PaymentAddress::New()); |
| 227 } | 227 } |
| 228 | 228 |
| 229 TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddressInResponse) | 229 TEST_F(PaymentRequestTest, RejectShowPromiseOnInvalidShippingAddressInResponse) |
| 230 { | 230 { |
| 231 ScriptState::Scope scope(getScriptState()); | 231 ScriptState::Scope scope(getScriptState()); |
| 232 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); | 232 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
| 233 EXPECT_FALSE(getExceptionState().hadException()); | 233 EXPECT_FALSE(getExceptionState().hadException()); |
| 234 mojom::blink::PaymentResponsePtr response = mojom::blink::PaymentResponse::N
ew(); | 234 mojom::blink::PaymentResponsePtr response = mojom::blink::PaymentResponse::N
ew(); |
| 235 response->shipping_address = mojom::blink::ShippingAddress::New(); | 235 response->shipping_address = mojom::blink::PaymentAddress::New(); |
| 236 | 236 |
| 237 request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptSta
te()), MockFunction::expectCall(getScriptState())); | 237 request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptSta
te()), MockFunction::expectCall(getScriptState())); |
| 238 | 238 |
| 239 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse
(std::move(response)); | 239 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse
(std::move(response)); |
| 240 } | 240 } |
| 241 | 241 |
| 242 TEST_F(PaymentRequestTest, DontRejectShowPromiseForValidShippingAddress) | 242 TEST_F(PaymentRequestTest, DontRejectShowPromiseForValidShippingAddress) |
| 243 { | 243 { |
| 244 ScriptState::Scope scope(getScriptState()); | 244 ScriptState::Scope scope(getScriptState()); |
| 245 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); | 245 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
| 246 EXPECT_FALSE(getExceptionState().hadException()); | 246 EXPECT_FALSE(getExceptionState().hadException()); |
| 247 mojom::blink::ShippingAddressPtr shippingAddress = mojom::blink::ShippingAdd
ress::New(); | 247 mojom::blink::PaymentAddressPtr shippingAddress = mojom::blink::PaymentAddre
ss::New(); |
| 248 shippingAddress->region_code = "US"; | 248 shippingAddress->region_code = "US"; |
| 249 shippingAddress->language_code = "en"; | 249 shippingAddress->language_code = "en"; |
| 250 shippingAddress->script_code = "Latn"; | 250 shippingAddress->script_code = "Latn"; |
| 251 | 251 |
| 252 request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptSta
te()), MockFunction::expectNoCall(getScriptState())); | 252 request->show(getScriptState()).then(MockFunction::expectNoCall(getScriptSta
te()), MockFunction::expectNoCall(getScriptState())); |
| 253 | 253 |
| 254 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnShippingAddress
Change(std::move(shippingAddress)); | 254 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnShippingAddress
Change(std::move(shippingAddress)); |
| 255 } | 255 } |
| 256 | 256 |
| 257 TEST_F(PaymentRequestTest, ResolveShowPromiseWithValidShippingAddressInResponse) | 257 TEST_F(PaymentRequestTest, ResolveShowPromiseWithValidShippingAddressInResponse) |
| 258 { | 258 { |
| 259 ScriptState::Scope scope(getScriptState()); | 259 ScriptState::Scope scope(getScriptState()); |
| 260 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); | 260 PaymentRequest* request = PaymentRequest::create(getScriptState(), Vector<St
ring>(1, "foo"), buildPaymentDetailsForTest(), getExceptionState()); |
| 261 EXPECT_FALSE(getExceptionState().hadException()); | 261 EXPECT_FALSE(getExceptionState().hadException()); |
| 262 mojom::blink::PaymentResponsePtr response = mojom::blink::PaymentResponse::N
ew(); | 262 mojom::blink::PaymentResponsePtr response = mojom::blink::PaymentResponse::N
ew(); |
| 263 response->shipping_address = mojom::blink::ShippingAddress::New(); | 263 response->shipping_address = mojom::blink::PaymentAddress::New(); |
| 264 response->shipping_address->region_code = "US"; | 264 response->shipping_address->region_code = "US"; |
| 265 response->shipping_address->language_code = "en"; | 265 response->shipping_address->language_code = "en"; |
| 266 response->shipping_address->script_code = "Latn"; | 266 response->shipping_address->script_code = "Latn"; |
| 267 | 267 |
| 268 request->show(getScriptState()).then(MockFunction::expectCall(getScriptState
()), MockFunction::expectNoCall(getScriptState())); | 268 request->show(getScriptState()).then(MockFunction::expectCall(getScriptState
()), MockFunction::expectNoCall(getScriptState())); |
| 269 | 269 |
| 270 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse
(std::move(response)); | 270 static_cast<mojom::blink::PaymentRequestClient*>(request)->OnPaymentResponse
(std::move(response)); |
| 271 } | 271 } |
| 272 | 272 |
| 273 TEST_F(PaymentRequestTest, ResolveShowPromiseWithoutShippingAddressInResponse) | 273 TEST_F(PaymentRequestTest, ResolveShowPromiseWithoutShippingAddressInResponse) |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 463 "\"shippingOptions\": [{\"id\": \"standardShippingOption\", \"label\": \
"Standard shipping\", \"amount\": {\"currency\": \"USD\", \"value\": \"5.00\"}}]
}"; | 463 "\"shippingOptions\": [{\"id\": \"standardShippingOption\", \"label\": \
"Standard shipping\", \"amount\": {\"currency\": \"USD\", \"value\": \"5.00\"}}]
}"; |
| 464 | 464 |
| 465 request->onUpdatePaymentDetails(ScriptValue::from(getScriptState(), fromJSON
String(getScriptState(), detail, getExceptionState()))); | 465 request->onUpdatePaymentDetails(ScriptValue::from(getScriptState(), fromJSON
String(getScriptState(), detail, getExceptionState()))); |
| 466 EXPECT_FALSE(getExceptionState().hadException()); | 466 EXPECT_FALSE(getExceptionState().hadException()); |
| 467 | 467 |
| 468 EXPECT_EQ("standardShippingOption", request->shippingOption()); | 468 EXPECT_EQ("standardShippingOption", request->shippingOption()); |
| 469 } | 469 } |
| 470 | 470 |
| 471 } // namespace | 471 } // namespace |
| 472 } // namespace blink | 472 } // namespace blink |
| OLD | NEW |