| Index: test/test262/local-tests/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-byteoffset-internal.js
|
| diff --git a/test/test262/local-tests/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-byteoffset-internal.js b/test/test262/local-tests/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-byteoffset-internal.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ab49f66a983b85fa4510419032dafbe4a0b80fdb
|
| --- /dev/null
|
| +++ b/test/test262/local-tests/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-byteoffset-internal.js
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2017 the V8 project authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +/*---
|
| +esid: sec-%typedarray%.prototype.set-typedarray-offset
|
| +description: >
|
| + Uses target's internal [[ArrayLength]]
|
| +info: >
|
| + 22.2.3.23.2 %TypedArray%.prototype.set(typedArray [ , offset ] )
|
| + 1. Assert: typedArray has a [[TypedArrayName]] internal slot. If it does not,
|
| + the definition in 22.2.3.23.1 applies.
|
| + 2. Let target be the this value.
|
| + ...
|
| + 16. Let targetByteOffset be target.[[ByteOffset]].
|
| + ...
|
| +includes: [testTypedArray.js]
|
| +---*/
|
| +
|
| +var getCalls = 0;
|
| +var desc = {
|
| + get: function() {
|
| + getCalls++;
|
| + return 0;
|
| + }
|
| +};
|
| +
|
| +Object.defineProperty(TypedArray.prototype, "byteOffset", desc);
|
| +
|
| +testWithTypedArrayConstructors(function(TA) {
|
| + var sample = new TA(2);
|
| + var src = new TA([42, 43]);
|
| + var differentTA = TA === Uint8Array ? Int8Array : Uint8Array;
|
| + var src2 = new differentTA([42, 43]);
|
| + var src3 = new differentTA(sample.buffer, 0, 2);
|
| +
|
| + Object.defineProperty(TA.prototype, "byteOffset", desc);
|
| + Object.defineProperty(sample, "byteOffset", desc);
|
| +
|
| + sample.set(src);
|
| + sample.set(src2);
|
| + sample.set(src3);
|
| +
|
| + assert.sameValue(getCalls, 0, "ignores byteoffset properties");
|
| +});
|
|
|