2011-09-07 08:35:18 +02:00
|
|
|
// Copyright 2009 the Sputnik authors. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
|
2014-07-22 01:09:02 +02:00
|
|
|
/*---
|
2018-01-05 18:26:51 +01:00
|
|
|
info: |
|
2014-07-22 01:09:02 +02:00
|
|
|
VariableDeclaration within Eval statement is initialized as the program
|
|
|
|
reaches the eval statement
|
2014-07-25 00:41:42 +02:00
|
|
|
es5id: 12.2_A5
|
2014-07-22 01:09:02 +02:00
|
|
|
description: Executing eval("var x")
|
2015-03-23 17:34:52 +01:00
|
|
|
flags: [noStrict]
|
2014-07-22 01:09:02 +02:00
|
|
|
---*/
|
2011-09-07 08:35:18 +02:00
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//CHECK#1
|
2015-06-16 18:35:27 +02:00
|
|
|
assert.throws(ReferenceError, function() {
|
2011-09-07 08:35:18 +02:00
|
|
|
x=x;
|
2015-06-16 18:35:27 +02:00
|
|
|
});
|
2011-09-07 08:35:18 +02:00
|
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
eval("var x");
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//CHECK#2
|
|
|
|
try{
|
|
|
|
x=x;
|
|
|
|
}catch(e){
|
|
|
|
$ERROR('#2: VariableDeclaration inside Eval statement is initialized when program reaches the eval statement '+e.message);
|
|
|
|
};
|
|
|
|
//
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|