• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright JS Foundation and other contributors, http://js.foundation
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15function check_syntax_error (script)
16{
17  try
18  {
19    eval (script);
20    assert (false);
21  }
22  catch (e)
23  {
24    assert (e instanceof SyntaxError);
25  }
26}
27
28check_syntax_error ('{');
29check_syntax_error ('}');
30check_syntax_error ('[');
31check_syntax_error (']');
32check_syntax_error ('(');
33check_syntax_error (')');
34
35check_syntax_error ('function f (');
36check_syntax_error ('function f ()');
37check_syntax_error ('function f () {');
38check_syntax_error ('function f () }');
39check_syntax_error ('function f ({) }');
40check_syntax_error ('function f { }');
41check_syntax_error ('function f {');
42check_syntax_error ('function f }');
43
44check_syntax_error ('a = [[];');
45
46check_syntax_error ('a = {;');
47check_syntax_error ('a = };');
48check_syntax_error ('a = {{};');
49
50check_syntax_error ('a = {get q {} };');
51check_syntax_error ('a = {get q ( {} };');
52check_syntax_error ('a = {get q ) {} };');
53check_syntax_error ('a = {get q () };');
54check_syntax_error ('a = {get q () { };');
55check_syntax_error ('a = {get q () };');
56check_syntax_error ('a = {get q () { };');
57