150a8abaf5
Ignore the error type in {assertThrows} only if it was not passed as an argument. If users do not care about the error type they can user the generic type {Error}. Before this change, an undefined error type would simply be ignored. A simple typo could therefore disable the error type assertion without being recognized. Change-Id: I9becfd0bf14dcaa511854e65ff94f94481cc79b0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585855 Commit-Queue: Frederik Gossen <frgossen@google.com> Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61105}
18 lines
941 B
JavaScript
18 lines
941 B
JavaScript
// Copyright 2018 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.
|
|
|
|
// The actual regression test
|
|
assertThrows("(import(foo)) =>", SyntaxError, "Invalid destructuring assignment target");
|
|
|
|
// Other related tests
|
|
assertThrows("import(foo) =>", SyntaxError, "Malformed arrow function parameter list");
|
|
assertThrows("(a, import(foo)) =>", SyntaxError, "Invalid destructuring assignment target");
|
|
assertThrows("(1, import(foo)) =>", SyntaxError, "Invalid destructuring assignment target");
|
|
assertThrows("(super(foo)) =>", SyntaxError, "'super' keyword unexpected here");
|
|
assertThrows("(bar(foo)) =>", SyntaxError, "Invalid destructuring assignment target");
|
|
|
|
// No syntax errors
|
|
assertThrows("[import(foo).then] = [1];", ReferenceError, "foo is not defined");
|
|
assertThrows("[[import(foo).then]] = [[1]];", ReferenceError, "foo is not defined");
|