2014-07-22 01:09:02 +02:00
|
|
|
// Copyright (c) 2012 Ecma International. All rights reserved.
|
2015-07-17 17:42:45 +02:00
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
2014-07-22 01:09:02 +02:00
|
|
|
|
|
|
|
/*---
|
2014-07-25 00:41:42 +02:00
|
|
|
es5id: 12.14-15
|
2014-07-22 01:09:02 +02:00
|
|
|
description: >
|
|
|
|
Exception object is a function which is a property of an object,
|
|
|
|
when an exception parameter is called as a function in catch
|
|
|
|
block, global object is passed as the this value
|
|
|
|
includes:
|
|
|
|
- runTestCase.js
|
|
|
|
- fnGlobalObject.js
|
2015-03-23 17:34:52 +01:00
|
|
|
flags: [noStrict]
|
2014-07-22 01:09:02 +02:00
|
|
|
---*/
|
|
|
|
|
|
|
|
function testcase() {
|
|
|
|
var obj = {};
|
|
|
|
obj.test = function () {
|
|
|
|
this._12_14_15_foo = "test";
|
|
|
|
};
|
|
|
|
try {
|
|
|
|
throw obj.test;
|
|
|
|
return false;
|
|
|
|
} catch (e) {
|
|
|
|
e();
|
|
|
|
return fnGlobalObject()._12_14_15_foo === "test";
|
|
|
|
}
|
|
|
|
finally {
|
|
|
|
delete fnGlobalObject()._12_14_15_foo;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
runTestCase(testcase);
|