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