mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 22:40:28 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
var assert = function (result, expected, message) {
|
|
if (result !== expected) {
|
|
throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message );
|
|
}
|
|
};
|
|
|
|
var assertThrow = function (cb, errorText) {
|
|
var error = null;
|
|
try {
|
|
cb();
|
|
} catch (e) {
|
|
error = e.toString();
|
|
}
|
|
if (error === null)
|
|
throw new Error('Expected error');
|
|
if (error !== errorText)
|
|
throw new Error('Expected error ' + errorText + ' but was ' + error);
|
|
};
|
|
|
|
{
|
|
eval('{ function foo() {} }');
|
|
assert(this.hasOwnProperty("foo"), true);
|
|
assert(typeof foo, 'function');
|
|
}
|
|
|
|
Object.defineProperty(this, "globalNonWritable", {
|
|
value: false,
|
|
configurable: true,
|
|
writable: false,
|
|
enumerable: true
|
|
});
|
|
eval("{function globalNonWritable() { return 1; }}");
|
|
var globalNonWritableDescriptor
|
|
= Object.getOwnPropertyDescriptor(this, "globalNonWritable");
|
|
assert(globalNonWritableDescriptor.enumerable, true);
|
|
|
|
Object.freeze(this);
|
|
{
|
|
var error = false;
|
|
try {
|
|
eval('{ function boo() {} }');
|
|
} catch (e) {
|
|
error = true;
|
|
}
|
|
assert(this.hasOwnProperty("boo"), false);
|
|
assert(error, false);
|
|
assertThrow(() => boo, 'ReferenceError: Can\'t find variable: boo');
|
|
}
|