Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / ecma_5 / Expressions / object-literal-accessor-arguments.js
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);