summaryrefslogtreecommitdiff
path: root/test/harness/detachArrayBuffer-host-detachArrayBuffer.js
blob: 2455167567263a5b96990d9bb6f06e4d7678c802 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (C) 2017 Rick Waldron. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: >
    Including detachArrayBuffer.js will expose a function:

        $DETACHBUFFER

    $DETACHBUFFER relies on the presence of a host definition for $262.detachArrayBuffer

includes: [detachArrayBuffer.js,sta.js]
---*/

var $262 = {
  detachArrayBuffer() {
    throw new Test262Error('$262.detachArrayBuffer called.');
  },
  destroy() {}
};

var ab = new ArrayBuffer(1);
var threw = false;

try {
  $DETACHBUFFER(ab);
} catch(err) {
  threw = true;
  if (err.constructor !== Test262Error) {
    $ERROR(
      'Expected a Test262Error, but a "' + err.constructor.name +
      '" was thrown.'
    );
  }
  if (err.message !== '$262.detachArrayBuffer called.') {
    $ERROR(`Expected error message: ${err.message}`);
  }
}

if (threw === false) {
  $ERROR('Expected a Test262Error, but no error was thrown.');
}