testharness-additions.js 760 Bytes
Newer Older
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
// Copyright 2020 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.

function assert_throws(code, func, description) {
  try {
    func();
  } catch (e) {
    assert_true(
        e.name === code.name,
        'expected exception ' + code.name + ', got ' + e.name);
    return;
  }
  assert_true(
      false, 'expected exception ' + code.name + ', no exception thrown');
}

function promise_rejects(test, expected, promise, description) {
  return promise
      .then(() => assert_unreached('Should have rejected: ' + description))
      .catch(function(e) {
        assert_throws(expected, function() {
          throw e;
        }, description);
      });
}