Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
| 3 <title>Tests for PaymentRequest interface</title> | 3 <title>Tests for PaymentRequest interface</title> |
| 4 <script src="../resources/testharness.js"></script> | 4 <script src="../resources/testharness.js"></script> |
| 5 <script src="../resources/testharnessreport.js"></script> | 5 <script src="../resources/testharnessreport.js"></script> |
| 6 <script> | 6 <script> |
| 7 function substitute(originalObject, substituteKeyValuePairs) { | 7 function substitute(originalObject, substituteKeyValuePairs) { |
| 8 for (var key in originalObject) { | 8 for (var key in originalObject) { |
| 9 if (originalObject.hasOwnProperty(key) && substituteKeyValuePairs.hasOwn Property(key)) { | 9 if (originalObject.hasOwnProperty(key) && substituteKeyValuePairs.hasOwn Property(key)) { |
| 10 originalObject[key] = substituteKeyValuePairs[key]; | 10 originalObject[key] = substituteKeyValuePairs[key]; |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 185 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': 'delivery'}); | 185 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': 'delivery'}); |
| 186 assert_equals('delivery', request.shippingType); | 186 assert_equals('delivery', request.shippingType); |
| 187 }, 'Shipping type should be \'delivery\' if shipping type is specified as \'deli very\'.'); | 187 }, 'Shipping type should be \'delivery\' if shipping type is specified as \'deli very\'.'); |
| 188 | 188 |
| 189 test(function() { | 189 test(function() { |
| 190 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': 'pickup'}); | 190 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': 'pickup'}); |
| 191 assert_equals('pickup', request.shippingType); | 191 assert_equals('pickup', request.shippingType); |
| 192 }, 'Shipping type should be \'pickup\' if shipping type is specified as \'pickup \'.'); | 192 }, 'Shipping type should be \'pickup\' if shipping type is specified as \'pickup \'.'); |
| 193 | 193 |
| 194 test(function() { | 194 test(function() { |
| 195 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': 'invalid'}); | |
| 196 assert_equals('shipping', request.shippingType); | |
| 197 }, 'Shipping type should be \'shipping\' if shipping type is specified as invali d string.'); | |
| 198 | |
| 199 test(function() { | |
| 200 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': null}); | |
| 201 assert_equals('shipping', request.shippingType); | |
| 202 }, 'Shipping type should be \'shipping\' if shipping type is specified as null.' ); | |
| 203 | |
| 204 test(function() { | |
| 205 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': undefined}); | 195 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': undefined}); |
| 206 assert_equals('shipping', request.shippingType); | 196 assert_equals('shipping', request.shippingType); |
| 207 }, 'Shipping type should be \'shipping\' if shipping type is specified as undefi ned.'); | 197 }, 'Shipping type should be \'shipping\' if shipping type is specified as undefi ned.'); |
| 208 | 198 |
| 209 test(function() { | 199 test(function() { |
| 210 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': []}); | |
| 211 assert_equals('shipping', request.shippingType); | |
| 212 }, 'Shipping type should be \'shipping\' if shipping type is specified as [].'); | |
| 213 | |
| 214 test(function() { | |
| 215 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': {}}); | |
| 216 assert_equals('shipping', request.shippingType); | |
| 217 }, 'Shipping type should be \'shipping\' if shipping type is specified as {}.'); | |
| 218 | |
| 219 test(function() { | |
| 220 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildDetai ls(), {'requestShipping': true, 'shippingType': 0}); | |
| 221 assert_equals('shipping', request.shippingType); | |
| 222 }, 'Shipping type should be \'shipping\' if shipping type is specified as a numb er.'); | |
| 223 | |
| 224 test(function() { | |
| 225 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), ' displayItems': undefined}); | 200 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), ' displayItems': undefined}); |
| 226 }, 'Undefined display items should not throw.'); | 201 }, 'Undefined display items should not throw.'); |
| 227 | 202 |
| 228 test(function() { | 203 test(function() { |
| 229 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), ' displayItems': []}); | 204 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem(), ' displayItems': []}); |
| 230 }, 'Empty display items should not throw.'); | 205 }, 'Empty display items should not throw.'); |
| 231 | 206 |
| 232 test(function() { | 207 test(function() { |
| 233 new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('total', {' value': '0'})); | 208 new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails('total', {' value': '0'})); |
| 234 }, 'Non-negative total value should not throw.'); | 209 }, 'Non-negative total value should not throw.'); |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 343 }], | 318 }], |
| 344 ['Empty details should throw', null, function() { | 319 ['Empty details should throw', null, function() { |
| 345 new PaymentRequest([{'supportedMethods': ['foo']}], {}) | 320 new PaymentRequest([{'supportedMethods': ['foo']}], {}) |
| 346 }], | 321 }], |
| 347 ['Null items should throw', new TypeError(), function() { | 322 ['Null items should throw', new TypeError(), function() { |
| 348 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem( ), 'displayItems': null}); | 323 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem( ), 'displayItems': null}); |
| 349 }], | 324 }], |
| 350 ['Null shipping options should throw', new TypeError(), function() { | 325 ['Null shipping options should throw', new TypeError(), function() { |
| 351 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem( ), 'displayItems': [buildItem()], 'shippingOptions': null}); | 326 new PaymentRequest([{'supportedMethods': ['foo']}], {'total': buildItem( ), 'displayItems': [buildItem()], 'shippingOptions': null}); |
| 352 }], | 327 }], |
| 328 ['Undefined PaymentShippingType value for shppingType should throw a TypeErr or', new TypeError(), function() { | |
|
foolip
2017/02/14 13:32:05
This test does not test undefined, but an invalid
| |
| 329 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildD etails(), {'requestShipping': true, 'shippingType': 'invalid'}); | |
| 330 }], | |
| 331 ['Null for shppingType should throw a TypeError', new TypeError(), function( ) { | |
| 332 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildD etails(), {'requestShipping': true, 'shippingType': null}); | |
| 333 }], | |
| 334 ['Array value for shppingType should throw a TypeError', new TypeError(), fu nction() { | |
| 335 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildD etails(), {'requestShipping': true, 'shippingType': []}); | |
| 336 }], | |
| 337 ['Object value for shppingType should throw a TypeError', new TypeError(), f unction() { | |
| 338 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildD etails(), {'requestShipping': true, 'shippingType': {}}); | |
| 339 }], | |
| 340 ['Numeric value for shppingType should throw a TypeError', new TypeError(), function() { | |
| 341 var request = new PaymentRequest([{'supportedMethods': ['foo']}], buildD etails(), {'requestShipping': true, 'shippingType': 0}); | |
| 342 }], | |
| 353 | 343 |
| 354 // Payment method specific data should be a JSON-serializable object. | 344 // Payment method specific data should be a JSON-serializable object. |
| 355 ['Array value for payment method specific data parameter should throw', null , function() { | 345 ['Array value for payment method specific data parameter should throw', null , function() { |
| 356 new PaymentRequest([{'supportedMethods': ['foo'], 'data': []}], buildDet ails(), {}) | 346 new PaymentRequest([{'supportedMethods': ['foo'], 'data': []}], buildDet ails(), {}) |
| 357 }], | 347 }], |
| 358 ['String value for payment method specific data parameter should throw', nul l, function() { | 348 ['String value for payment method specific data parameter should throw', nul l, function() { |
| 359 new PaymentRequest([{'supportedMethods': ['foo'], 'data': 'foo'}], build Details(), {}) | 349 new PaymentRequest([{'supportedMethods': ['foo'], 'data': 'foo'}], build Details(), {}) |
| 360 }], | 350 }], |
| 361 ['Numeric value for payment method specific data parameter should throw', nu ll, function() { | 351 ['Numeric value for payment method specific data parameter should throw', nu ll, function() { |
| 362 new PaymentRequest([{'supportedMethods': ['foo'], 'data': 42}], buildDet ails(), {}) | 352 new PaymentRequest([{'supportedMethods': ['foo'], 'data': 42}], buildDet ails(), {}) |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 430 }], | 420 }], |
| 431 ['Null amount should throw', null, function() { | 421 ['Null amount should throw', null, function() { |
| 432 new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(det ailNames[i], {'value': null}), {requestShipping: true}) | 422 new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(det ailNames[i], {'value': null}), {requestShipping: true}) |
| 433 }], | 423 }], |
| 434 ['Undefined amount should throw', null, function() { | 424 ['Undefined amount should throw', null, function() { |
| 435 new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(det ailNames[i], {'value': undefined}), {requestShipping: true}) | 425 new PaymentRequest([{'supportedMethods': ['foo']}], buildDetails(det ailNames[i], {'value': undefined}), {requestShipping: true}) |
| 436 }], | 426 }], |
| 437 ]); | 427 ]); |
| 438 } | 428 } |
| 439 </script> | 429 </script> |
| OLD | NEW |