2014-07-22 01:09:02 +02:00
|
|
|
// Copyright (c) 2012 Ecma International. All rights reserved.
|
2015-07-17 17:42:45 +02:00
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
2014-07-22 01:09:02 +02:00
|
|
|
|
|
|
|
/*---
|
2014-07-25 00:41:42 +02:00
|
|
|
es5id: 11.2.3-3_6
|
2014-07-22 01:09:02 +02:00
|
|
|
description: >
|
|
|
|
Call arguments are evaluated before the check is made to see if
|
|
|
|
the object is actually callable (getter called)
|
|
|
|
---*/
|
|
|
|
|
|
|
|
var o = { };
|
|
|
|
Object.defineProperty(o, "bar", {get: function() {this.barGetter = true; return 42;},
|
|
|
|
set: function(x) {this.barSetter = true; }});
|
2015-08-11 17:42:41 +02:00
|
|
|
assert.throws(TypeError, function() {
|
2014-07-22 01:09:02 +02:00
|
|
|
o.foo( o.bar );
|
2021-07-28 22:48:39 +02:00
|
|
|
throw new Test262Error("o.foo does not exist!");
|
2015-08-11 17:42:41 +02:00
|
|
|
});
|
|
|
|
assert.sameValue(o.barGetter, true, 'o.barGetter');
|
|
|
|
assert.sameValue(o.barSetter, undefined, 'o.barSetter');
|