| Index: third_party/WebKit/LayoutTests/payments/payment-request-interface.html
 | 
| diff --git a/third_party/WebKit/LayoutTests/payments/payment-request-interface.html b/third_party/WebKit/LayoutTests/payments/payment-request-interface.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..ebdc020c78510dc434e5224feb73f5dc642b4b3e
 | 
| --- /dev/null
 | 
| +++ b/third_party/WebKit/LayoutTests/payments/payment-request-interface.html
 | 
| @@ -0,0 +1,63 @@
 | 
| +<!DOCTYPE html>
 | 
| +<meta charset="utf-8">
 | 
| +<title>Tests for PaymentRequest interface</title>
 | 
| +<script src="../resources/testharness.js"></script>
 | 
| +<script src="../resources/testharnessreport.js"></script>
 | 
| +<script>
 | 
| +test(function() {
 | 
| +    new PaymentRequest([], {}, {}, {});
 | 
| +}, 'Creating a PaymentRequest with empty parameters should not throw or crash.');
 | 
| +
 | 
| +test(function() {
 | 
| +    new PaymentRequest([], {}, {}, {}, '');
 | 
| +}, 'Creating a PaymentRequest with extra parameters should not throw or crash.');
 | 
| +
 | 
| +test(function() {
 | 
| +    new PaymentRequest([], {});
 | 
| +}, 'Creating a PaymentRequest with omitted optional parameters should not throw or crash.');
 | 
| +
 | 
| +test(function() {
 | 
| +    new PaymentRequest([], {}, undefined, undefined);
 | 
| +}, 'Creating a PaymentRequest with undefined optional parameters should not throw or crash.');
 | 
| +
 | 
| +test(function() {
 | 
| +    new PaymentRequest([], {}, null, null);
 | 
| +}, 'Creating a PaymentRequest with null optional parameters should not throw or crash.');
 | 
| +
 | 
| +generate_tests(assert_throws, [
 | 
| +    ['PaymentRequest constructor should throw for incorrect parameter types.', null, function() {
 | 
| +        new PaymentRequest('', '', '', '')
 | 
| +    }],
 | 
| +    ['PaymentRequest constructor should throw for undefined required parameters.', null, function() {
 | 
| +        new PaymentRequest(undefined, undefined)
 | 
| +    }],
 | 
| +    ['PaymentRequest constructor should throw for null required parameter.', null, function() {
 | 
| +        new PaymentRequest(null, null)
 | 
| +    }]
 | 
| +]);
 | 
| +
 | 
| +test(function() {
 | 
| +    var request = new PaymentRequest([], {});
 | 
| +    assert_readonly(request, "shippingAddress", 'PaymentRequest should have a readonly shippingAddress property.');
 | 
| +    assert_readonly(request, "shippingOption", 'PaymentRequest should have a readonly shippingOption property.');
 | 
| +}, 'PaymentRequest should have readonly shippingAddress and shippingOption properties.');
 | 
| +
 | 
| +test(function() {
 | 
| +    var request = new PaymentRequest([], {});
 | 
| +    assert_not_equals(request.onshippingaddresschange, undefined, 'PaymentRequest should have onShippingAddressChange event.');
 | 
| +    assert_not_equals(request.onshippingoptionchange, undefined, 'PaymentRequest should have onShippingOptionChange event.');
 | 
| +}, 'PaymentRequest should have onShippingAddressChange and onShippingOptionChange events.');
 | 
| +
 | 
| +
 | 
| +test(function() {
 | 
| +    var request = new PaymentRequest([], {});
 | 
| +    assert_not_equals(request.abort, undefined, 'PaymentRequest should have abort() method.');
 | 
| +    assert_not_equals(request.show, undefined, 'PaymentRequest should have show() method.');
 | 
| +}, 'PaymentRequest should have methods abort() and show().');
 | 
| +
 | 
| +test(function() {
 | 
| +    var request = new PaymentRequest([], {});
 | 
| +    request.abort();
 | 
| +    request.show();
 | 
| +}, 'PaymentRequest.abort() and PaymentRequest.show() should take no parameters.');
 | 
| +</script>
 | 
| 
 |