Merge pull request #518 from anba/typedarray_getownpropdesc_fixes

Fix test bugs
This commit is contained in:
Gorkem Yakin 2016-03-02 13:22:29 -08:00
commit 6e912b0825
4 changed files with 4 additions and 80 deletions

View File

@ -28,4 +28,4 @@ var proxy = new Proxy({}, {
var result = Object.getOwnPropertyDescriptors(proxy);
assert.sameValue(result.hasOwnProperty('DUPLICATE'), true);
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|');

View File

@ -15,11 +15,12 @@ var symValue = Symbol('value');
var obj = { key: symValue };
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);
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.enumerable, true, 'result.key is enumerable');

View File

@ -51,10 +51,6 @@ assert.throws(TypeError, function() {
TypedArray.from(arrayLike, s);
}, "mapfn is a symbol");
assert.throws(TypeError, function() {
TypedArray.from(arrayLike, Int8Array);
}, "mapfn is a TypedArray constructor (not callable)");
assert.sameValue(
getIterator, 0,
"IsCallable(mapfn) check occurs before getting source[@@iterator]"

View File

@ -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]);
});
});