mirror of
https://github.com/tc39/test262.git
synced 2025-07-22 13:34:38 +02:00
Merge pull request #518 from anba/typedarray_getownpropdesc_fixes
Fix test bugs
This commit is contained in:
commit
6e912b0825
@ -28,4 +28,4 @@ var proxy = new Proxy({}, {
|
|||||||
var result = Object.getOwnPropertyDescriptors(proxy);
|
var result = Object.getOwnPropertyDescriptors(proxy);
|
||||||
assert.sameValue(result.hasOwnProperty('DUPLICATE'), true);
|
assert.sameValue(result.hasOwnProperty('DUPLICATE'), true);
|
||||||
assert.sameValue(result.DUPLICATE, undefined);
|
assert.sameValue(result.DUPLICATE, undefined);
|
||||||
assert.sameValue(log, 'ownKeys|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE');
|
assert.sameValue(log, 'ownKeys|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|');
|
||||||
|
@ -15,11 +15,12 @@ var symValue = Symbol('value');
|
|||||||
|
|
||||||
var obj = { key: symValue };
|
var obj = { key: symValue };
|
||||||
obj[enumSym] = value;
|
obj[enumSym] = value;
|
||||||
Object.defineProperty(obj, nonEnumSym, { enumerable: false, value: value });
|
Object.defineProperty(obj, nonEnumSym, { writable: true, enumerable: false, configurable: true, value: value });
|
||||||
|
|
||||||
var result = Object.getOwnPropertyDescriptors(obj);
|
var result = Object.getOwnPropertyDescriptors(obj);
|
||||||
|
|
||||||
assert.sameValue(Object.keys(result).length, 3, 'obj has 3 descriptors');
|
assert.sameValue(Object.keys(result).length, 1, 'obj has 1 string-keyed descriptor');
|
||||||
|
assert.sameValue(Object.getOwnPropertySymbols(result).length, 2, 'obj has 2 symbol-keyed descriptors');
|
||||||
|
|
||||||
assert.sameValue(result.key.configurable, true, 'result.key is configurable');
|
assert.sameValue(result.key.configurable, true, 'result.key is configurable');
|
||||||
assert.sameValue(result.key.enumerable, true, 'result.key is enumerable');
|
assert.sameValue(result.key.enumerable, true, 'result.key is enumerable');
|
||||||
|
@ -51,10 +51,6 @@ assert.throws(TypeError, function() {
|
|||||||
TypedArray.from(arrayLike, s);
|
TypedArray.from(arrayLike, s);
|
||||||
}, "mapfn is a symbol");
|
}, "mapfn is a symbol");
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
|
||||||
TypedArray.from(arrayLike, Int8Array);
|
|
||||||
}, "mapfn is a TypedArray constructor (not callable)");
|
|
||||||
|
|
||||||
assert.sameValue(
|
assert.sameValue(
|
||||||
getIterator, 0,
|
getIterator, 0,
|
||||||
"IsCallable(mapfn) check occurs before getting source[@@iterator]"
|
"IsCallable(mapfn) check occurs before getting source[@@iterator]"
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
/*---
|
|
||||||
esid: sec-typedarray-object
|
|
||||||
description: >
|
|
||||||
Return abrupt from setting a TypedArray instance property
|
|
||||||
info: >
|
|
||||||
22.2.4.4 TypedArray ( object )
|
|
||||||
|
|
||||||
This description applies only if the TypedArray function is called with at
|
|
||||||
least one argument and the Type of the first argument is Object and that
|
|
||||||
object does not have either a [[TypedArrayName]] or an [[ArrayBufferData]]
|
|
||||||
internal slot.
|
|
||||||
|
|
||||||
...
|
|
||||||
8. Repeat, while k < len
|
|
||||||
...
|
|
||||||
b. Let kValue be ? Get(arrayLike, Pk).
|
|
||||||
c. Perform ? Set(O, Pk, kValue, true).
|
|
||||||
...
|
|
||||||
|
|
||||||
9.4.5.5 [[Set]] ( P, V, Receiver)
|
|
||||||
|
|
||||||
...
|
|
||||||
2. If Type(P) is String and if SameValue(O, Receiver) is true, then
|
|
||||||
a. Let numericIndex be ! CanonicalNumericIndexString(P).
|
|
||||||
b. If numericIndex is not undefined, then
|
|
||||||
i. Return ? IntegerIndexedElementSet(O, numericIndex, V).
|
|
||||||
...
|
|
||||||
|
|
||||||
9.4.5.9 IntegerIndexedElementSet ( O, index, value )
|
|
||||||
|
|
||||||
...
|
|
||||||
3. Let numValue be ? ToNumber(value).
|
|
||||||
...
|
|
||||||
|
|
||||||
7.1.3 ToNumber ( argument )
|
|
||||||
|
|
||||||
Object, Apply the following steps:
|
|
||||||
|
|
||||||
1. Let primValue be ? ToPrimitive(argument, hint Number).
|
|
||||||
2. Return ? ToNumber(primValue).
|
|
||||||
|
|
||||||
7.1.1 ToPrimitive ( input [ , PreferredType ] )
|
|
||||||
|
|
||||||
...
|
|
||||||
4. Let exoticToPrim be ? GetMethod(input, @@toPrimitive).
|
|
||||||
5. If exoticToPrim is not undefined, then
|
|
||||||
a. Let result be ? Call(exoticToPrim, input, « hint »).
|
|
||||||
b. If Type(result) is not Object, return result.
|
|
||||||
c. Throw a TypeError exception.
|
|
||||||
...
|
|
||||||
7. Return ? OrdinaryToPrimitive(input, hint).
|
|
||||||
|
|
||||||
OrdinaryToPrimitive
|
|
||||||
|
|
||||||
...
|
|
||||||
5. For each name in methodNames in List order, do
|
|
||||||
a. Let method be ? Get(O, name).
|
|
||||||
b. If IsCallable(method) is true, then
|
|
||||||
i. Let result be ? Call(method, O).
|
|
||||||
ii. If Type(result) is not Object, return result.
|
|
||||||
6. Throw a TypeError exception.
|
|
||||||
includes: [testTypedArray.js]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
testWithTypedArrayConstructors(function(TA) {
|
|
||||||
var sample = new Int8Array(1);
|
|
||||||
|
|
||||||
assert.throws(TypeError, function() {
|
|
||||||
new TA([8, sample]);
|
|
||||||
});
|
|
||||||
});
|
|
Loading…
x
Reference in New Issue
Block a user