Fix duplicate function declarations (#905)

Fixes #771
This commit is contained in:
Leo Balter 2017-03-13 18:43:41 -04:00 committed by GitHub
parent c062d93012
commit 2c1aed0db6
3 changed files with 12 additions and 18 deletions

View File

@ -27,13 +27,7 @@ if (delete MyFunction !== false) {
}
//CHECK#4
function MyFunction(){};
var MyObject = new MyFunction();
if (delete MyObject !== false) {
$ERROR('#4: function MyFunction(){}; var MyObject = new MyFunction(); delete MyObject === false');
}
//CHECK#5
if (delete MyObject !== false) {
$ERROR('#5: function MyFunction(){}; var MyObject = new MyFunction(); delete MyObject === false');
}

View File

@ -11,13 +11,13 @@ flags: [noStrict]
---*/
//CHECK#1
function MyFunction() {return this}
if (MyFunction() !== this) {
$ERROR('#1: function MyFunction() {return this} MyFunction() === this. Actual: ' + (MyFunction()));
function ReturnThis() {return this}
if (ReturnThis() !== this) {
$ERROR('#1: function ReturnThis() {return this} ReturnThis() === this. Actual: ' + (ReturnThis()));
}
//CHECK#2
function MyFunction() {return eval("this")}
if (MyFunction() !== this) {
$ERROR('#2: function MyFunction() {return eval("this")} MyFunction() === this. Actual: ' + (MyFunction()));
function ReturnEvalThis() {return eval("this")}
if (ReturnEvalThis() !== this) {
$ERROR('#2: function ReturnEvalThis() {return eval("this")} ReturnEvalThis() === this. Actual: ' + (ReturnEvalThis()));
}

View File

@ -11,13 +11,13 @@ flags: [noStrict]
---*/
//CHECK#1
function MyFunction() {this.THIS = this}
if ((new MyFunction()).THIS.toString() !== "[object Object]") {
$ERROR('#1: function MyFunction() {this.THIS = this} (new MyFunction()).THIS.toString() !== "[object Object]". Actual: ' + ((new MyFunction()).THIS.toString()));
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 MyFunction() {this.THIS = eval("this")}
if ((new MyFunction()).THIS.toString() !== "[object Object]") {
$ERROR('#2: function MyFunction() {this.THIS = eval("this")} (new MyFunction()).THIS.toString() !== "[object Object]". Actual: ' + ((new MyFunction()).THIS.toString()));
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()));
}