| OLD | NEW | 
|    1 <!DOCTYPE html> |    1 <!DOCTYPE html> | 
|    2 <script src="../../resources/js-test.js"></script> |    2 <script src="../../resources/js-test.js"></script> | 
|    3 <div id="description"></div> |    3 <div id="description"></div> | 
|    4 <div id="console"></div> |    4 <div id="console"></div> | 
|    5 <script> |    5 <script> | 
|    6 // http://heycam.github.io/webidl/#es-operations |    6 // http://heycam.github.io/webidl/#es-operations | 
|    7 description('Operations that return a Promise type should handle exceptions ' + |    7 description('Operations that return a Promise type should handle exceptions ' + | 
|    8             'by returning a rejected Promise with the exception.') |    8             'by returning a rejected Promise with the exception.') | 
|    9  |    9  | 
|   10 window.jsTestIsAsync = true; |   10 window.jsTestIsAsync = true; | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
|   29         testFailed('Rejected unexpectedly: ' + message); |   29         testFailed('Rejected unexpectedly: ' + message); | 
|   30         reason = e; |   30         reason = e; | 
|   31         shouldBeTrue('reason instanceof Error'); |   31         shouldBeTrue('reason instanceof Error'); | 
|   32         debug(e); |   32         debug(e); | 
|   33     }); |   33     }); | 
|   34 } |   34 } | 
|   35  |   35  | 
|   36 var check = internals.promiseCheck.bind(internals); |   36 var check = internals.promiseCheck.bind(internals); | 
|   37 var check2 = internals.promiseCheckWithoutExceptionState.bind(internals); |   37 var check2 = internals.promiseCheckWithoutExceptionState.bind(internals); | 
|   38 var check3 = internals.promiseCheckRange.bind(internals); |   38 var check3 = internals.promiseCheckRange.bind(internals); | 
 |   39 var check4 = internals.promiseCheckOverload.bind(internals); | 
|   39  |   40  | 
|   40 Promise.resolve().then(function() { |   41 Promise.resolve().then(function() { | 
|   41     return shouldBeRejected(check(), 'no arguments'); |   42     return shouldBeRejected(check(), 'no arguments'); | 
|   42 }).then(function() { |   43 }).then(function() { | 
|   43     return shouldBeResolved(check(3, true, {}, '', ['']), 'valid arguments'); |   44     return shouldBeResolved(check(3, true, {}, '', ['']), 'valid arguments'); | 
|   44 }).then(function() { |   45 }).then(function() { | 
|   45     return shouldBeResolved(check(null, true, {}, '', []), 'convert(long)'); |   46     return shouldBeResolved(check(null, true, {}, '', []), 'convert(long)'); | 
|   46 }).then(function() { |   47 }).then(function() { | 
|   47     return shouldBeResolved(check(3, {}, {}, '', []), 'convert(boolean)'); |   48     return shouldBeResolved(check(3, {}, {}, '', []), 'convert(boolean)'); | 
|   48 }).then(function() { |   49 }).then(function() { | 
| (...skipping 28 matching lines...) Expand all  Loading... | 
|   77     return shouldBeResolved(check2({}, '', {}, 3), 'convert(String...)'); |   78     return shouldBeResolved(check2({}, '', {}, 3), 'convert(String...)'); | 
|   78 }).then(function() { |   79 }).then(function() { | 
|   79     var x = { |   80     var x = { | 
|   80         toString: function() { |   81         toString: function() { | 
|   81             throw Error('Thrown from toString'); |   82             throw Error('Thrown from toString'); | 
|   82         } |   83         } | 
|   83     }; |   84     }; | 
|   84     return shouldBeRejected(check2({}, '', '', x), 'conversion error(String...)'
     ); |   85     return shouldBeRejected(check2({}, '', '', x), 'conversion error(String...)'
     ); | 
|   85 }).then(function() { |   86 }).then(function() { | 
|   86     return shouldBeRejected(check3(-1), 'range error(octet)'); |   87     return shouldBeRejected(check3(-1), 'range error(octet)'); | 
 |   88 }).then(function() { | 
 |   89     return shouldBeResolved(check4(location), 'valid argument (Location)'); | 
 |   90 }).then(function() { | 
 |   91     return shouldBeResolved(check4(document), 'valid argument (Document)'); | 
 |   92 }).then(function() { | 
 |   93     return shouldBeResolved(check4(location, 0, 0), 'valid argument (Location, l
     ong, long)'); | 
 |   94 }).then(function() { | 
 |   95     return shouldBeRejected(check4({}), 'type error (Object)'); | 
 |   96 }).then(function() { | 
 |   97     return shouldBeRejected(check4(location, 0), 'type error (Location, long)'); | 
|   87 }).then(undefined, function(e) { |   98 }).then(undefined, function(e) { | 
|   88     testFailed('An exception is thrown from a method'); |   99     testFailed('An exception is thrown from a method'); | 
|   89     debug(e); |  100     debug(e); | 
|   90 }).then(finishJSTest, finishJSTest); |  101 }).then(finishJSTest, finishJSTest); | 
|   91 </script> |  102 </script> | 
| OLD | NEW |