• 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 throw_error(snippet)
16{
17  try
18  {
19    eval(snippet);
20    assert (false);
21  }
22  catch (e)
23  {
24    assert (e instanceof SyntaxError);
25  }
26}
27
28function throw_error_strict(snippet)
29{
30  'use strict'
31
32  try
33  {
34    eval(snippet);
35    assert (false);
36  }
37  catch (e)
38  {
39    assert (e instanceof SyntaxError);
40  }
41}
42
43// These should be failed in ECMA-262 v5.1
44throw_error_strict("({a:1, a:2})");
45throw_error("({a:1, get a() { return 1 }})");
46throw_error("({get a() {return undefined}, get a() {return undefined}})");
47throw_error("({ get 1() {}, 1:1 })");
48