|
1 // Any copyright is dedicated to the Public Domain. |
|
2 // http://creativecommons.org/licenses/publicdomain/ |
|
3 |
|
4 var gTestfile = 'object-literal-accessor-arguments.js'; |
|
5 //----------------------------------------------------------------------------- |
|
6 var BUGNUMBER = 536472; |
|
7 var summary = |
|
8 'ES5: { get x(v) { } } and { set x(v, v2) { } } should be syntax errors'; |
|
9 |
|
10 print(BUGNUMBER + ": " + summary); |
|
11 |
|
12 //----------------------------------------------------------------------------- |
|
13 |
|
14 function expectSyntaxError(s) |
|
15 { |
|
16 try |
|
17 { |
|
18 eval(s); |
|
19 throw new Error("no error thrown"); |
|
20 } |
|
21 catch (e) |
|
22 { |
|
23 assertEq(e instanceof SyntaxError, true, |
|
24 "expected syntax error parsing '" + s + "', got: " + e); |
|
25 } |
|
26 } |
|
27 |
|
28 expectSyntaxError("({ get x(a) { } })"); |
|
29 expectSyntaxError("({ get x(a, a) { } })"); |
|
30 expectSyntaxError("({ get x(a, b) { } })"); |
|
31 expectSyntaxError("({ get x(a, a, b) { } })"); |
|
32 expectSyntaxError("({ get x(a, b, c) { } })"); |
|
33 |
|
34 expectSyntaxError("({ set x() { } })"); |
|
35 expectSyntaxError("({ set x(a, a) { } })"); |
|
36 expectSyntaxError("({ set x(a, b) { } })"); |
|
37 expectSyntaxError("({ set x(a, a, b) { } })"); |
|
38 expectSyntaxError("({ set x(a, b, c) { } })"); |
|
39 |
|
40 //----------------------------------------------------------------------------- |
|
41 |
|
42 reportCompare(true, true); |