// 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-integer-indexed-exotic-objects-defineownproperty-p-desc description: > Verify conversion after defining value info: | 9.4.5.3 [[DefineOwnProperty]] ( P, Desc) ... 3. If Type(P) is String, then ... b. If numericIndex is not undefined, then ... xi. If Desc has a [[Value]] field, then 1. Let value be Desc.[[Value]]. 2. Return ? IntegerIndexedElementSet(O, intIndex, value). ... 9.4.5.9 IntegerIndexedElementSet ( O, index, value ) ... 15. Perform SetValueInBuffer(buffer, indexedPosition, elementType, numValue). ... 24.1.1.6 SetValueInBuffer ( arrayBuffer, byteIndex, type, value [ , isLittleEndian ] ) ... 8. If type is "Float32", then ... 9. Else, if type is "Float64", then ... 10. Else, ... b. Let convOp be the abstract operation named in the Conversion Operation column in Table 50 for Element Type type. c. Let intValue be convOp(value). d. If intValue ≥ 0, then ... e. Else, ... includes: [byteConversionValues.js, testBigIntTypedArray.js] features: [BigInt, TypedArray] ---*/ testTypedArrayConversions(byteConversionValues, function(TA, value, expected, initial) { var sample = new TA([initial]); Object.defineProperty(sample, "0", {value: value}); assert.sameValue(sample[0], expected, value + " converts to " + expected); });