// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // @dart = 2.7 // Test that dart2js can handle unexpected exception types. library native_exception_test; import 'native_testing.dart'; main() { var previous; check(e) { print('$e'); Expect.equals(e, e); Expect.notEquals(e, new Object()); Expect.notEquals(e, previous); previous = e; return '$e' != '[object Object]'; } Expect.throws(() { JS('void', 'noGlobalVariableWithThisName'); }, check); Expect.throws(() { JS('void', 'throw 3'); }, check); Expect.throws(() { JS('bool', 'Object.prototype.hasOwnProperty.call(undefined, "foo")'); }, check); Expect.throws(() { JS('void', 'throw new ReferenceError()'); }, check); Expect.throws(() { JS('void', 'throw void 0'); }, check); Expect.throws(() { JS('void', 'throw "a string"'); }, check); Expect.throws(() { JS('void', 'throw null'); }, check); }