Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / js1_5 / Regress / regress-503860.js
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 each (var obj in arr)
22     obj.x = 2;          // should call b's setter but doesn't
23
24 reportCompare(expect, actual, summary);