Merge pull request #1961 from test262-automation/javascriptcore-test262-automation-export-89489cb6f5

Import test changes from JavaScriptCore
This commit is contained in:
Leo Balter 2018-11-26 11:56:42 -05:00 committed by GitHub
commit 7f12e04bd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 19 deletions

View File

@ -1,6 +1,6 @@
{ {
"sourceRevisionAtLastExport": "0cfa6086eb", "sourceRevisionAtLastExport": "743b57501b",
"targetRevisionAtLastExport": "89489cb6f5", "targetRevisionAtLastExport": "5ccad79611",
"curatedFiles": { "curatedFiles": {
"/stress/Number-isNaN-basics.js": "DELETED_IN_TARGET", "/stress/Number-isNaN-basics.js": "DELETED_IN_TARGET",
"/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js": "DELETED_IN_TARGET", "/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js": "DELETED_IN_TARGET",

View File

@ -1,17 +0,0 @@
// Reviewed
Object.defineProperty(Array.prototype, '0', {
get() { },
set() { throw new Error(); }
});
var __v_7772 = "GGCCGGGTAAAGTGGCTCACGCCTGTAATCCCAGCACTTTACCCCCCGAGGCGGGCGGA";
var exception;
try {
__v_7772.match(/[cgt]gggtaaa|tttaccc[acg]/ig);
} catch (e) {
exception = e;
}
if (exception != "Error")
throw "FAILED";

View File

@ -0,0 +1,8 @@
//@ runDefault("--useControlFlowProfiler=true")
function foo() {
for (var x in []) {
o[++x];
}
}
foo()

View File

@ -0,0 +1,25 @@
function assertEq(actual, expected) {
if (actual != expected)
throw ("Expected: " + expected + ", actual: " + actual);
}
var otherGlobal = $vm.createGlobalObject();
Array.prototype.__defineSetter__(7, () => {
arr[0] = { };
});
let arr = new otherGlobal.Array(1.1, 2.2, 3.3);
function foo(arr, regexp, str){
var result = regexp[Symbol.match](str);
arr[1] = 3.54484805889626e-310;
return arr[0];
}
let regexp = /a/g;
for (let i = 0; i < 10000; i++)
foo(arr, regexp, "aaaa");
let r = foo(arr, regexp, "aaaaaaaa");
assertEq(arr[1], "3.54484805889626e-310");

View File

@ -0,0 +1,27 @@
function assertEq(actual, expected) {
if (actual != expected)
throw ("Expected: " + expected + ", actual: " + actual);
}
function foo(arr, regexp, str) {
regexp[Symbol.match](str);
arr[1] = 3.54484805889626e-310;
return arr[0];
}
let arr = [1.1, 2.2, 3.3];
let regexp = /a/y;
for (let i = 0; i < 10000; i++)
foo(arr, regexp, "abcd");
regexp.lastIndex = {
valueOf: () => {
arr[0] = arr;
return 0;
}
};
let result = foo(arr, regexp, "abcd");
assertEq(arr[1], "3.54484805889626e-310");
assertEq(result, ",3.54484805889626e-310,3.3");