-
Notifications
You must be signed in to change notification settings - Fork 534
Expand file tree
/
Copy pathS11.4.4_A5_T3.js
More file actions
37 lines (33 loc) · 986 Bytes
/
S11.4.4_A5_T3.js
File metadata and controls
37 lines (33 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Copyright (C) 2014 André Bargull. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Operator ++x calls PutValue(lhs, newValue)
es5id: S11.4.4_A5_T3
description: >
Evaluating LeftHandSideExpression lhs returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lhs, newValue) uses the initially
created Reference even if the environment binding is no longer present.
Binding in surrounding object environment record is not changed.
flags: [noStrict]
---*/
var outerScope = {
x: 0
};
var innerScope = {
get x() {
delete this.x;
return 2;
}
};
with (outerScope) {
with (innerScope) {
++x;
}
}
if (innerScope.x !== 3) {
throw new Test262Error('#1: innerScope.x === 3. Actual: ' + (innerScope.x));
}
if (outerScope.x !== 0) {
throw new Test262Error('#2: outerScope.x === 0. Actual: ' + (outerScope.x));
}