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

Side by Side Diff: third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-request-constructor.https.html

Issue 2851383002: Verify behavior of PaymentRequest constructor. (Closed)
Patch Set: Created 3 years, 7 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
(Empty)
1 <!DOCTYPE html>
2 <!-- Copyright © 2017 Chromium authors and World Wide Web Consortium, (Massachus etts Institute of Technology, ERCIM, Keio University, Beihang). -->
3 <meta charset="utf-8">
4 <title>Test for PaymentRequest Constructor</title>
5 <script src="../resources/testharness.js"></script>
Marijn Kruisselbrink 2017/05/03 18:26:51 This should just be /resources/testharness.js
please use gerrit instead 2017/05/03 19:30:23 Done.
6 <script src="../../../resources/testharnessreport.js"></script>
Marijn Kruisselbrink 2017/05/03 18:26:51 same here, /resources/testharnessreport.js
please use gerrit instead 2017/05/03 19:30:23 Done.
7 <!-- https://w3c.github.io/browser-payment-api/#constructor -->
8 <script>
9 test(() => {
10 assert_equals((new PaymentRequest([{supportedMethods: ['basic-card']}], {id: ' foo', total: {label: '', amount: {currency: 'USD', value: '1.00'}}})).id, 'foo') ;
11 });
Marijn Kruisselbrink 2017/05/03 18:26:51 Could you give every test() a name? The auto-gener
please use gerrit instead 2017/05/03 19:30:23 Done.
12
13 test(() => {
14 assert_throws({name: 'TypeError'},
15 () => {
16 new PaymentRequest([], {total: {label: '', amount: {currency: 'USD', value : '1.00'}}});
17 }, 'If the length of the methodData sequence is zero, then throw a TypeError ');
18 });
19
20 test(() => {
21 assert_throws({name: 'TypeError'},
22 () => {
23 new PaymentRequest([{supportedMethods: []}], {total: {label: '', amount: { currency: 'USD', value: '1.00'}}});
24 }, 'If the length of the paymentMethod.supportedMethods sequence is zero, th en throw a TypeError');
25 });
26
27 const invalid_monetary_amounts = ['-', 'notdigits', 'ALSONOTDIGITS', '10.', '.99 ', '-10.', '-.99', '10-', '1-0', '1.0.0', '1/3', '', null];
28 for (var i in invalid_monetary_amounts) {
Marijn Kruisselbrink 2017/05/03 18:26:51 for...in should generally never be used for arrays
please use gerrit instead 2017/05/03 19:30:23 Done.
29 test(() => {
30 assert_throws({name: 'TypeError'},
31 () => {
32 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label: '', amount: {currency: 'USD', value: invalid_monetary_amounts[i]}}});
33 }, 'If details.total.amount.value is not a valid decimal monetary value (i n this case "' + invalid_monetary_amounts[i] + '"), then throw a TypeError');
34 });
35 }
36
37 test(() => {
38 assert_throws({name: 'TypeError'},
39 () => {
40 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label:
41 '', amount: {currency: 'USD', value: '-1.00'}}});
42 }, 'If the first character of details.total.amount.value is U+002D HYPHEN-MI NUS, then throw a TypeError');
43 });
44
45 for (var i in invalid_monetary_amounts) {
46 test(() => {
47 assert_throws({name: 'TypeError'},
48 () => {
49 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label: '', amount: {currency: 'USD', value: '1.00'}}, displayItems: [{label: '', amoun t: {currency: 'USD', value: invalid_monetary_amounts[i]}}]});
50 }, 'For each item in details.displayItems: if item.amount.value is not a v alid decimal monetary value (in this case "' + invalid_monetary_amounts[i] + '") , then throw a TypeError');
51 });
52 }
53
54 test(() => {
55 assert_throws({name: 'TypeError'},
56 () => {
57 new PaymentRequest([{supportedMethods: ['basic-card']}], {});
58 }, 'Total is required');
59 });
60
61 test(() => {
62 assert_throws({name: 'TypeError'},
63 () => {
64 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {amount: {currency: 'USD', value: '1.00'}}});
65 }, 'Label is required');
66 });
67
68 test(() => {
69 assert_throws({name: 'TypeError'},
70 () => {
71 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label: ' '}});
72 }, 'Amount is required');
73 });
74
75 test(() => {
76 assert_throws({name: 'TypeError'},
77 () => {
78 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label: ' ', amount: {currency: 'USD'}}});
79 }, 'Amount value is required');
80 });
81
82 test(() => {
83 assert_throws({name: 'TypeError'},
84 () => {
85 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label: ' ', amount: {value: '1.00'}}});
86 }, 'Amount currency is required');
87 });
88
89 test(() => {
90 assert_throws({name: 'TypeError'},
91 () => {
92 new PaymentRequest([{supportedMethods: ['basic-card']}], {total: {label: ' ', amount: {currency: 'USD', value: '1.00'}}}, {shippingType: 'invalid'});
93 }, 'Shipping type should be valid');
94 });
95 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698