OLD | NEW |
| (Empty) |
1 /// Copyright (c) 2009 Microsoft Corporation | |
2 /// | |
3 /// Redistribution and use in source and binary forms, with or without modificat
ion, are permitted provided | |
4 /// that the following conditions are met: | |
5 /// * Redistributions of source code must retain the above copyright notice,
this list of conditions and | |
6 /// the following disclaimer. | |
7 /// * Redistributions in binary form must reproduce the above copyright notic
e, this list of conditions and | |
8 /// the following disclaimer in the documentation and/or other materials pr
ovided with the distribution. | |
9 /// * Neither the name of Microsoft nor the names of its contributors may be
used to | |
10 /// endorse or promote products derived from this software without specific
prior written permission. | |
11 /// | |
12 /// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR | |
13 /// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS | |
14 /// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWN
ER OR CONTRIBUTORS BE LIABLE | |
15 /// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL D
AMAGES (INCLUDING, BUT NOT | |
16 /// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS | |
17 /// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONT
RACT, STRICT LIABILITY, | |
18 /// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE US
E OF THIS SOFTWARE, EVEN IF | |
19 /// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
20 | |
21 | |
22 /* | |
23 Refer 11.1.5; | |
24 The production | |
25 PropertyNameAndValueList : PropertyNameAndValueList , PropertyAssignment | |
26 4. If previous is not undefined then throw a SyntaxError exception if any of t
he following conditions are true | |
27 d. IsAccessorDescriptor(previous) is true and IsAccessorDescriptor(propId.de
scriptor) is true and either both previous and propId.descriptor have [[Get]] fi
elds or both previous and propId.descriptor have [[Set]] fields | |
28 */ | |
29 | |
30 ES5Harness.registerTest( { | |
31 id: "11.1.5_4-4-d-2", | |
32 | |
33 path: "TestCases/chapter11/11.1/11.1.5/11.1.5_4-4-d-2.js", | |
34 | |
35 description: "Object literal - SyntaxError for duplicate property name (set,set)
", | |
36 | |
37 test: function testcase() { | |
38 try | |
39 { | |
40 eval("({set foo(arg){}, set foo(arg1){}});"); | |
41 } | |
42 catch(e) | |
43 { | |
44 if(e instanceof SyntaxError) | |
45 return true; | |
46 } | |
47 }, | |
48 | |
49 precondition: function () { | |
50 //accessor properties in object literals must be allowed | |
51 try {eval("({set foo(x) {}, get foo(){}});");} | |
52 catch(e) {return false} | |
53 return true; | |
54 } | |
55 | |
56 }); | |
OLD | NEW |