mirror of https://github.com/tc39/test262.git
Add abrupt completion tests
This commit is contained in:
parent
8551382805
commit
b6cc89c61d
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright 2019 Aleksey Shvayka. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-function.prototype.apply
|
||||||
|
description: >
|
||||||
|
Return abrupt completion from Get(obj, indexName)
|
||||||
|
info: |
|
||||||
|
Function.prototype.apply ( thisArg, argArray )
|
||||||
|
|
||||||
|
[...]
|
||||||
|
4. Let argList be ? CreateListFromArrayLike(argArray).
|
||||||
|
|
||||||
|
CreateListFromArrayLike ( obj [ , elementTypes ] )
|
||||||
|
|
||||||
|
[...]
|
||||||
|
6. Repeat, while index < len
|
||||||
|
a. Let indexName be ! ToString(index).
|
||||||
|
b. Let next be ? Get(obj, indexName).
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var arrayLike = {
|
||||||
|
length: 2,
|
||||||
|
0: 0,
|
||||||
|
get 1() {
|
||||||
|
throw new Test262Error();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.throws(Test262Error, function() {
|
||||||
|
(function() {}).apply(null, arrayLike);
|
||||||
|
});
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright 2019 Aleksey Shvayka. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-function.prototype.apply
|
||||||
|
description: >
|
||||||
|
Return abrupt completion from Get(obj, "length")
|
||||||
|
info: |
|
||||||
|
Function.prototype.apply ( thisArg, argArray )
|
||||||
|
|
||||||
|
[...]
|
||||||
|
4. Let argList be ? CreateListFromArrayLike(argArray).
|
||||||
|
|
||||||
|
CreateListFromArrayLike ( obj [ , elementTypes ] )
|
||||||
|
|
||||||
|
[...]
|
||||||
|
3. Let len be ? ToLength(? Get(obj, "length")).
|
||||||
|
---*/
|
||||||
|
|
||||||
|
var arrayLike = {
|
||||||
|
get length() {
|
||||||
|
throw new Test262Error();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.throws(Test262Error, function() {
|
||||||
|
(function() {}).apply(null, arrayLike);
|
||||||
|
});
|
Loading…
Reference in New Issue