Mike Pennisi eb644bb2da Reduce reliance on fnGlobalObject.js
This harness function is not necessary in the majority of cases in which
it is used. Remove its usage to simplify tests and decrease the amount
of domain-specific knowledge necessary to contribute to the test suite.

Persist the harness function itself for use by future tests for ES2015
modules (such a helper is necessary for tests that are interpreted as
module code).
2016-04-25 11:09:21 -07:00

30 lines
881 B
JavaScript
Executable File

// Copyright (C) 2014 André Bargull. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Assignment Operator calls PutValue(lref, rval)
es5id: S11.13.1_A5_T5
description: >
Evaluating LeftHandSideExpression lref returns Reference type; Reference
base value is an environment record and environment record kind is
object environment record. PutValue(lref, rval) uses the initially
created Reference even if the environment binding is no longer present.
No ReferenceError is thrown when assignment is in strict-mode code and the
original binding is no longer present.
---*/
var global = this;
Object.defineProperty(this, "x", {
configurable: true,
value: 1
});
(function() {
"use strict";
x = (delete global.x, 2);
})();
if (this.x !== 2) {
$ERROR('#1: this.x === 2. Actual: ' + (this.x));
}