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

Unified Diff: third_party/WebKit/LayoutTests/payments/payment-request-interface.html

Issue 2020883002: PaymentRequest: Introduce PaymentMethodData. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
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
index 8bdec6d5803b28a472c60afda0f8825ea45029db..00c45e1b9bb3ae03663bffe782b16d3cc1ba3cc8 100644
--- a/third_party/WebKit/LayoutTests/payments/payment-request-interface.html
+++ b/third_party/WebKit/LayoutTests/payments/payment-request-interface.html
@@ -61,129 +61,129 @@ function buildDetails(optionalDetailName, optionalSubstituteKeyValuePairs) {
}
test(function() {
- new PaymentRequest(['foo'], buildDetails(), {}, {});
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(), {});
}, 'Creating a PaymentRequest with empty parameters should not throw or crash.');
test(function() {
- new PaymentRequest(['foo'], buildDetails(), {}, {}, '');
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(), {}, '');
}, 'Creating a PaymentRequest with extra parameters should not throw or crash.');
test(function() {
- new PaymentRequest(['foo'], buildDetails());
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails());
}, 'Creating a PaymentRequest with omitted optional parameters should not throw or crash.');
test(function() {
- new PaymentRequest(['foo'], buildDetails(), undefined, undefined);
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(), undefined);
}, 'Creating a PaymentRequest with undefined optional parameters should not throw or crash.');
test(function() {
- new PaymentRequest(['foo'], buildDetails(), null, null);
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(), null);
}, 'Creating a PaymentRequest with null optional parameters should not throw or crash.');
test(function() {
- var request = new PaymentRequest(['foo'], buildDetails());
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails());
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(['foo'], buildDetails());
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails());
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(['foo'], buildDetails());
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails());
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(['foo'], buildDetails());
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails());
request.show();
request.abort();
}, 'PaymentRequest.abort() and PaymentRequest.show() should take no parameters.');
test(function() {
- var request = new PaymentRequest(['foo'], buildDetails(), {'requestShipping': true}, {'foo': {'gateway': 'bar'}});
+ var request = new PaymentRequest([{'supportedMethods': ['foo'], 'data': {'foo': {'gateway': 'bar'}}}], buildDetails(), {'requestShipping': true});
request.show();
request.abort();
}, 'Valid data causes no errors.');
test(function() {
- var request = new PaymentRequest(['foo'], buildDetails('shippingOptions', {'id': 'standard'}));
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('shippingOptions', {'id': 'standard'}));
assert_equals(null, request.shippingOption);
}, 'Shipping option identifier should be null if shipping request is omitted.');
test(function() {
- var request = new PaymentRequest(['foo'], buildDetails('shippingOptions', {'id': 'standard'}), {'requestShipping': false});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('shippingOptions', {'id': 'standard'}), {'requestShipping': false});
assert_equals(null, request.shippingOption);
}, 'Shipping option identifier should be null if shipping is explicitly not requested.');
test(function() {
- var request = new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': [buildItem()]}, {'requestShipping': true});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': [buildItem()]}, {'requestShipping': true});
assert_equals(null, request.shippingOption);
}, 'Shipping option identifier should be null if no shipping options are provided.');
test(function() {
- var request = new PaymentRequest(['foo'], buildDetails('shippingOptions', {'selected': false}), {'requestShipping': true});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('shippingOptions', {'selected': false}), {'requestShipping': true});
assert_equals(null, request.shippingOption);
}, 'Shipping option identifier should be null if the single provided option is not selected.');
test(function() {
- var request = new PaymentRequest(['foo'], buildDetails('shippingOptions', {'id': 'standard', 'selected': true}), {'requestShipping': true});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('shippingOptions', {'id': 'standard', 'selected': true}), {'requestShipping': true});
assert_equals('standard', request.shippingOption);
}, 'Shipping option identifier should default to the single provided option if it is selected.');
test(function() {
var shippingOptions = [buildItem({'id': 'standard'}), buildItem({'id': 'express'})];
- var request = new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': shippingOptions}, {'requestShipping': true});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': shippingOptions}, {'requestShipping': true});
assert_equals(null, request.shippingOption);
}, 'Shipping option identifier should be null if multiple unselected shipping options are provided.');
test(function() {
var shippingOptions = [buildItem({'id': 'standard', 'selected': true}), buildItem({'id': 'express'})];
- var request = new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': shippingOptions}, {'requestShipping': true});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': shippingOptions}, {'requestShipping': true});
assert_equals('standard', request.shippingOption);
}, 'Shipping option identifier should default to the selected shipping option.');
test(function() {
var shippingOptions = [buildItem({'id': 'standard', 'selected': true}), buildItem({'id': 'express', 'selected': true})];
- var request = new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': shippingOptions}, {'requestShipping': true});
+ var request = new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': shippingOptions}, {'requestShipping': true});
assert_equals('express', request.shippingOption);
}, 'Shipping option identifier should default to the last selected shipping option, if multiple are selected.');
test(function() {
- new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': undefined});
+ new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': undefined});
}, 'Undefined display items should not throw.');
test(function() {
- new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': []});
+ new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': []});
}, 'Empty display items should not throw.');
test(function() {
- new PaymentRequest(['foo'], buildDetails('total', {'value': '0'}));
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('total', {'value': '0'}));
}, 'Non-negative total value should not throw.');
test(function() {
assert_throws(new TypeError(), function() {
- new PaymentRequest(['foo'], buildDetails('total', {'value': '-0.01'}));
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('total', {'value': '-0.01'}));
});
}, 'Negative total value should throw a TypeError.');
test(function() {
- new PaymentRequest(['foo'], buildDetails('displayItems', {'value': '-0.01'}));
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('displayItems', {'value': '-0.01'}));
}, 'Negative line item value should not throw.');
test(function() {
assert_throws(new TypeError(), function() {
- new PaymentRequest(['foo'], {'displayItems': [buildItem()]});
+ new PaymentRequest([{'supportedMethods': ['foo']}], {'displayItems': [buildItem()]});
});
}, 'Absence of total should throw TypeError.');
generate_tests(assert_throws, [
['PaymentRequest constructor should throw for incorrect parameter types.', null, function() {
- new PaymentRequest('', '', '', '')
+ new PaymentRequest('', '', '')
}],
['PaymentRequest constructor should throw for undefined required parameters.', null, function() {
new PaymentRequest(undefined, undefined)
@@ -194,48 +194,40 @@ generate_tests(assert_throws, [
['Empty list of supported payment method identifiers should throw TypeError.', new TypeError(), function() {
new PaymentRequest([], buildDetails())
}],
- ['Keys in payment method specific data object should match accepted method identifiers.', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, {'bar': {'gateway': 'baz'}})
- }],
['Empty details should throw', null, function() {
- new PaymentRequest(['foo'], {})
+ new PaymentRequest([{'supportedMethods': ['foo']}], {})
}],
['Null items should throw', new TypeError(), function() {
- new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': null});
+ new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': null});
}],
['Null shipping options should throw', new TypeError(), function() {
- new PaymentRequest(['foo'], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': null});
+ new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), 'displayItems': [buildItem()], 'shippingOptions': null});
}],
['Aborting before showing should throw.', null, function() {
- new PaymentRequest(['foo'], buildDetails()).abort()
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails()).abort()
}],
// Payment method specific data should be a JSON-serializable object.
['Array value for payment method specific data parameter should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, [])
+ new PaymentRequest([{'supportedMethods': ['foo'], 'data': []}], buildDetails(), {})
}],
['String value for payment method specific data parameter should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, 'foo')
+ new PaymentRequest([{'supportedMethods': ['foo'], 'data': 'foo'}], buildDetails(), {})
}],
['Numeric value for payment method specific data parameter should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, 42)
+ new PaymentRequest([{'supportedMethods': ['foo'], 'data': 42}], buildDetails(), {})
}],
['Infinite JSON value for one of the payment method specific data pieces should throw', null, function() {
var infiniteData = {'foo': {}};
infiniteData.foo = infiniteData;
- new PaymentRequest(['foo'], buildDetails(), {}, infiniteData)
- }],
-
- // Values in payment method specific data object should be JSON-serializable objects.
- ['Array value for one of the payment method specific data pieces should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, {'foo': []})
- }],
- ['String value for one of the payment method specific data pieces should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, {'foo': 'bar'})
+ new PaymentRequest([{'supportedMethods': ['foo'], 'data': infiniteData}], buildDetails())
}],
- ['Numeric value for one of the payment method specific data pieces should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(), {}, {'foo': 42})
+ ['Null for payment method specific data parameter should throw', null, function() {
+ new PaymentRequest([{'supportedMethods': ['foo'], 'data': null}], buildDetails())
}],
+ ['Empty string for payment method specific data parameter should throw', null, function() {
+ new PaymentRequest([{'supportedMethods': ['foo'], 'data': ''}], buildDetails())
+ }]
]);
var detailNames = ['total', 'displayItems', 'shippingOptions'];
@@ -243,69 +235,69 @@ for (var i in detailNames) {
generate_tests(assert_throws, [
// Invalid currency code formats.
['Invalid currency code US1 should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': 'US1'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': 'US1'}))
}],
['Invalid currency code US should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': 'US'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': 'US'}))
}],
['Invalid currency code USDO should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': 'USDO'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': 'USDO'}))
}],
['Invalid currency code usd should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': 'usd'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': 'usd'}))
}],
['Empty currency code should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': ''}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': ''}))
}],
['Null currency code should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': null}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': null}))
}],
['Undefined currency code should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'currency': undefined}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'currency': undefined}))
}],
// Invalid amount formats.
['Invalid amount "-" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '-'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '-'}))
}],
['Invalid amount "notdigits" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': 'notdigits'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': 'notdigits'}))
}],
['Invalid amount "ALSONOTDIGITS" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': 'ALSONOTDIGITS'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': 'ALSONOTDIGITS'}))
}],
['Invalid amount "10." should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '10.'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '10.'}))
}],
['Invalid amount ".99" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '.99'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '.99'}))
}],
['Invalid amount "-10." should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '-10.'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '-10.'}))
}],
['Invalid amount "-.99" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '-.99'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '-.99'}))
}],
['Invalid amount "10-" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '10-'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '10-'}))
}],
['Invalid amount "1-0" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '1-0'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '1-0'}))
}],
['Invalid amount "1.0.0" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '1.0.0'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '1.0.0'}))
}],
['Invalid amount "1/3" should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': '1/3'}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': '1/3'}))
}],
['Empty amount should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': ''}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': ''}))
}],
['Null amount should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': null}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': null}))
}],
['Undefined amount should throw', null, function() {
- new PaymentRequest(['foo'], buildDetails(detailNames[i], {'value': undefined}))
+ new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(detailNames[i], {'value': undefined}))
}],
]);
}

Powered by Google App Engine
This is Rietveld 408576698