|
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
|
2 /* |
|
3 * Any copyright is dedicated to the Public Domain. |
|
4 * http://creativecommons.org/licenses/publicdomain/ |
|
5 * Contributor: Jason Orendorff |
|
6 */ |
|
7 |
|
8 //----------------------------------------------------------------------------- |
|
9 var BUGNUMBER = 503860; |
|
10 var summary = "Don't shadow a readonly or setter proto-property"; |
|
11 var expect = "PASS"; |
|
12 var actual = "FAIL"; |
|
13 var a = {y: 1}; |
|
14 |
|
15 function B(){} |
|
16 B.prototype.__defineSetter__('x', function setx(val) { actual = expect; }); |
|
17 var b = new B; |
|
18 b.y = 1; |
|
19 |
|
20 var arr = [a, b]; // same shape prior to bug 497789 fix |
|
21 for (var obj of arr) |
|
22 obj.x = 2; // should call b's setter but doesn't |
|
23 |
|
24 reportCompare(expect, actual, summary); |