Mike Pennisi f5d60d4192 Improve coverage
The modified tests are equally valid in strict mode and outside of
strict mode. Remove the flag which limits their use to only one of these
two contexts. Rename tests using the legacy ES5-based naming scheme to
remove the pattern which designates strict mode.
2019-09-27 15:39:10 -04:00

23 lines
912 B
JavaScript

// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: |
Being in function code, "this" and eval("this"), called as a
constructors, return the object
es5id: 11.1.1_A3.2
description: Create function. It have property, that returned "this"
---*/
//CHECK#1
function SetThis() {this.THIS = this}
if ((new SetThis()).THIS.toString() !== "[object Object]") {
$ERROR('#1: function SetThis() {this.THIS = this} (new SetThis()).THIS.toString() !== "[object Object]". Actual: ' + ((new SetThis()).THIS.toString()));
}
//CHECK#2
function SetEvalThis() {this.THIS = eval("this")}
if ((new SetEvalThis()).THIS.toString() !== "[object Object]") {
$ERROR('#2: function SetEvalThis() {this.THIS = eval("this")} (new SetEvalThis()).THIS.toString() !== "[object Object]". Actual: ' + ((new SetEvalThis()).THIS.toString()));
}