Regenerated website using new package.py and test/suite/converted.

This commit is contained in:
David Fugate 2011-09-25 11:41:04 -07:00
parent a8e88a93dd
commit ba41d38511
603 changed files with 168 additions and 77157 deletions

View File

@ -38,7 +38,7 @@ def generateHarness(harnessType, jsonFile, description):
#------------------------------------------------------------------------------
from TestCasePackagerConfig import *
from packagerConfig import *
#--Globals---------------------------------------------------------------------

View File

@ -26,7 +26,7 @@ import stat
#--Globals---------------------------------------------------------------------
MAX_CASES_PER_JSON = 1000
WEBSITE_SHORT_NAME = "website2"
WEBSITE_SHORT_NAME = "website"
#Directories under "test\suite\" containing ES5 test chapter directories
#with *.js tests underneath them

View File

@ -2,20 +2,18 @@
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script type="text/javascript" src="resources/scripts/global/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="resources/scripts/global/sections.js"></script>
<script type="text/javascript" src="harness/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="harness/sections.js"></script>
<script type="text/javascript">
//Globals
var TEST_LIST_PATH = "resources/scripts/testcases/default.json";
var TEST_LIST_PATH = "json/default.json";
</script>
<script type="text/javascript" src="resources/scripts/global/sth.js"></script>
<script type="text/javascript" src="resources/scripts/global/sta.js"></script>
<script type="text/javascript" src="resources/scripts/global/jqueryprogressbar.js"></script>
<script type="text/javascript" src="resources/scripts/global/helper.js"></script>
<script type="text/javascript" src="resources/scripts/global/jquery.base64.js"></script>
<script type="text/javascript" src="resources/scripts/global/sputnikLib.js"></script>
<script type="text/javascript" src="resources/scripts/testcases/SputnikGlobalScope.js"></script>
<script type="text/javascript" src="resources/scripts/testcases/IETCGlobalScope.js"></script>
<script type="text/javascript" src="harness/sth.js"></script>
<script type="text/javascript" src="harness/sta.js"></script>
<script type="text/javascript" src="harness/jqueryprogressbar.js"></script>
<script type="text/javascript" src="harness/helper.js"></script>
<script type="text/javascript" src="harness/jquery.base64.js"></script>
<script type="text/javascript" src="harness/sputnikLib.js"></script>
<script language="javascript" type="text/javascript">
//To support all the browsers
$(window).resize(ResizeLoadIndicator);
@ -32,7 +30,7 @@
</script>
<title>ECMAScript Test262</title>
<link href="resources/styles/style.css" media="screen" rel="stylesheet" title="CSS" type="text/css" />
<link href="styles/style.css" media="screen" rel="stylesheet" title="CSS" type="text/css" />
</head>
<body>
<div class="indicatorContainer" oncontextmenu="return false;">
@ -40,7 +38,7 @@
<div class="disabledBackground"></div>
<div id="loadingIndicator">
<div>
<img src="./resources/images/spinner.gif" alt="Loading..." />
<img src="./images/spinner.gif" alt="Loading..." />
<span>Loading...</span>
</div>
</div>
@ -49,7 +47,7 @@
<div class="wrapper">
<!-- This Container holds the Logo -->
<div class="logoHeader">
<div class="logoBg"><img src="resources/images/logo.png" /></div>
<div class="logoBg"><img src="images/logo.png" /></div>
<div class="ecmascriptbacklink">
<p><a href='javascript:void(window.open("http://www.ecmascript.org/"));'>ECMAScript.org</a></p>
</div>
@ -106,7 +104,7 @@
<div class="progressBarHolder">
<div id="progressbar"></div>
<div class="progressBarButtons">
<img src="resources/images/reset.png" class="button-reset"/>&nbsp;<img src="resources/images/start.png" class="button-start" id="btnStart"/>
<img src="images/reset.png" class="button-reset"/>&nbsp;<img src="images/start.png" class="button-start" id="btnStart"/>
</div>
<div style="clear: both;"></div>
</div>
@ -149,7 +147,7 @@
Test Suite Ver.: <span class="targetTestSuiteVersion"></span>&nbsp;<span class="separator">|</span>&nbsp;Test Suite Date: <span class="targetTestSuiteDate"></span>
</div>
<div class="downloadLinks">
<p><a class="anchor-download-xml" id="ancGenXMLReport"><strong>Download results as XML</strong></a></p> <!--| <strong><a href="resources/scripts/testcases.zip">Download Source</a></strong></p>-->
<p><a class="anchor-download-xml" id="ancGenXMLReport"><strong>Download results as XML</strong></a></p> <!--| <strong><a href="scripts/testcases.zip">Download Source</a></strong></p>-->
</div>
<div id="legend" class="hide">
<label class="reportGreen">Green:</label>&nbsp;100%&nbsp;

View File

@ -22,29 +22,31 @@
//An exception is expected
if (testDescrip.negative !== undefined) {
//TODO - come up with a generic way of catching the error type from window.onerror
testDescrip.negative = testDescrip.negative === "NotEarlyError" ? testDescrip.negative : ".";
if (window.iframeError === undefined) { //no exception was thrown
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code, typeof testDescrip.precondition !== 'undefined' ? testDescrip.precondition.toString() : '',
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code,
'fail',
Error('No exception was thrown; expected an error "message" property matching the regular expression "' + testDescrip.negative + '".'));
} else if (!(new RegExp(testDescrip.negative, "i").test(window.iframeError))) { //wrong type of exception thrown
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code, typeof testDescrip.precondition !== 'undefined' ? testDescrip.precondition.toString() : '',
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code,
'fail',
Error('Expected an exception with a "message" property matching the regular expression "' + testDescrip.negative +'" to be thrown; actual was "' + window.iframeError + '".'));
} else {
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code, typeof testDescrip.precondition !== 'undefined' ? testDescrip.precondition.toString() : '',
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code,
'pass', undefined);
}
}
//Exception was not expected to be thrown
else if (window.iframeError !== undefined) {
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code, typeof testDescrip.precondition !== 'undefined' ? testDescrip.precondition.toString() : '',
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code,
'fail',
Error('Unexpected exception, "' + window.iframeError + '" was thrown.'));
}
else {
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code, typeof testDescrip.precondition !== 'undefined' ? testDescrip.precondition.toString() : '',
testRun(testDescrip.id, testDescrip.path, testDescrip.description, testDescrip.code,
'pass', undefined);
}

View File

@ -33,7 +33,7 @@ function Presenter() {
totalTests = 0;
var progressBar;
TOCFILEPATH = "resources/scripts/global/ecma-262-toc.xml";
TOCFILEPATH = "metadata/ecma-262-toc.xml";
//**INTERFACE****************************************************************
/* Updates progress with the given test, which should have its results in it as well. */
this.addTestResult = function(test) {
@ -69,7 +69,7 @@ function Presenter() {
}
this.finished = function(elapsed) {
$('.button-start').attr('src', 'resources/images/start.png');
$('.button-start').attr('src', 'images/start.png');
$('.button-start').fadeOut('fast');
progressBar.find(".text").html("Testing complete!");
@ -81,11 +81,11 @@ function Presenter() {
}
this.started = function () {
$('.button-start').attr('src', 'resources/images/pause.png');
$('.button-start').attr('src', 'images/pause.png');
}
this.paused = function () {
$('.button-start').attr('src', 'resources/images/resume.png');
$('.button-start').attr('src', 'images/resume.png');
}
this.reset = function() {
@ -160,11 +160,6 @@ function Presenter() {
innerHTML += '<br /><br /><br /><b>Testcase</b>';
innerHTML += '<pre>' + test.code + '</pre>';
if (test.pre) {
innerHTML += '<b>Precondition</b>';
innerHTML += '<pre>' + test.pre + '</pre>';
}
innerHTML += '<b>Path</b>';
innerHTML += '<pre>' + test.path + ' </pre>&nbsp';

View File

@ -285,41 +285,8 @@ var EarlyErrorRePat = "^((?!" + NotEarlyErrorString + ").)*$";
var NotEarlyError = new Error(NotEarlyErrorString);
//--Test case registration-----------------------------------------------------
var ES5Harness = {};
ES5Harness.registerTest = function (test) {
var error;
//Has a test precondition set, but the precondition fails
if (test.precondition && !test.precondition()) {
testRun(test.id, test.path, test.description, test.test.toString(),
typeof test.precondition !== 'undefined' ? test.precondition.toString() : '',
'fail', Error('Precondition Failed'));
}
//We're good to actually run the test case
else {
try {
if (test.strict!==undefined) {
var res = test.test();
} else {
var res = test.test.call(window);
}
} catch (e) {
res = 'fail';
error = e;
if (!(e instanceof Error)) {
try {
error = Error(e.toString());
} catch (e2) {
error = Error("test262: unknown error in test case or ECMAScript implementation");
}
}
}
//Sputnik and IE Test Center tests are a bit different in terms of return values.
//That is, IE Test Center will always return 'true' IFF the test passed. Sputnik
//test cases will return either 'true' or 'undefined' if they pass.
var retVal = /^s/i.test(test.id) ? (res === true || typeof res === 'undefined' ? 'pass' : 'fail') : (res === true ? 'pass' : 'fail');
testRun(test.id, test.path, test.description, test.test.toString(),
typeof test.precondition !== 'undefined' ? test.precondition.toString() : '',
retVal, error);
function runTestCase(testcase) {
if (testcase() !== true) {
$ERROR("Test case returned non-true value!")
}
}

View File

@ -41,7 +41,7 @@ function BrowserRunner() {
errorDetectorFileContents,
simpleTestAPIContents,
globalScopeContents,
harnessDir = "resources/scripts/global/";
harnessDir = "harness/";
$.ajax({async: false,
dataType: "text",
@ -87,31 +87,31 @@ function BrowserRunner() {
}
/* Called from the child window after the test has run. */
function testRun(id, path, description, codeString, preconditionString, result, error) {
function testRun(id, path, description, codeString, result, error) {
currentTest.id = id;
currentTest.path = path;
currentTest.description = description;
currentTest.result = result;
currentTest.error = error;
currentTest.code = codeString;
currentTest.pre = preconditionString;
}
/* Run the test. */
this.run = function (test, code) {
currentTest = { id: test.id,
path: test.path,
code: code,
}; // default test, in case it doesn't get registered.
var isGlobalTest = GlobalScopeTests[test.path] !== undefined;
currentTest = {};
for (var tempIndex in test) {
if (test.hasOwnProperty(tempIndex)) {
currentTest[tempIndex] = test[tempIndex];
}
}
currentTest.code = code;
iframe = document.createElement("iframe");
iframe.setAttribute("id", "runnerIframe");
iframe.setAttribute("id", "runnerIframe");
//FireFox has a defect where it doesn't fire window.onerror for an iframe if the iframe
//is invisible.
if (!isGlobalTest || !/firefox/i.test(navigator.userAgent)) {
if (!/firefox/i.test(navigator.userAgent)) {
iframe.setAttribute("style", "display:none");
}
document.body.appendChild(iframe);
@ -129,23 +129,23 @@ function BrowserRunner() {
include;
iwin.Test262Error = Test262Error;
iwin.$ERROR = $ERROR;
iwin.$FAIL = $FAIL;
iwin.$PRINT = function () {};
iwin.$INCLUDE = function() {};
iwin.$FAIL = $FAIL;
iwin.$PRINT = function () { };
iwin.$INCLUDE = function () { };
if(includes !== null) {
if (includes !== null) {
// We have some includes, so loop through each include and
// pull in the dependencies.
for(var i = 0; i < includes.length; i++) {
for (var i = 0; i < includes.length; i++) {
include = includes[i].replace(/.*\(('|")(.*)('|")\)/, "$2");
// First check to see if we have this script cached
// already, and if not, grab it.
if(typeof scriptCache[include] === "undefined") {
if (typeof scriptCache[include] === "undefined") {
$.ajax({
async: false,
url: 'resources/scripts/global/' + include,
success: function(s) { scriptCache[include] = s; }
url: 'harness/' + include,
success: function (s) { scriptCache[include] = s; }
});
}
@ -160,42 +160,30 @@ function BrowserRunner() {
idoc.writeln(simpleTestAPIContents);
idoc.writeln("</script>");
//--Scenario 1: we're dealing with a global scope test case
if (isGlobalTest) {
iwin.iframeError = undefined;
iwin.onerror = undefined;
var testDescrip = GlobalScopeTests[test.path];
testDescrip.id = test.id;
testDescrip.path = test.path;
testDescrip.code = code;
iwin.testDescrip = testDescrip;
//Add an error handler capable of catching so-called early errors
//idoc.writeln("<script type='text/javascript' src='harness/ed.js'>" + "</script>");
idoc.writeln("<script type='text/javascript'>");
idoc.writeln(errorDetectorFileContents);
idoc.writeln("</script>");
iwin.iframeError = undefined;
iwin.onerror = undefined;
iwin.testDescrip = currentTest;
//Run the code
idoc.writeln("<script type='text/javascript'>");
if (/opera/i.test(navigator.userAgent)) { //Opera doesn't support window.onerror
idoc.writeln("try {eval(\"" + this.convertForEval(code) + "\");} catch(e) {window.onerror(e.toString(), null, null);}");
} else {
idoc.writeln(code);
}
idoc.writeln("</script>");
//Validate the results
//idoc.writeln("<script type='text/javascript' src='harness/gs.js' defer>" + "</script>");
idoc.writeln("<script type='text/javascript'>");
idoc.writeln(globalScopeContents);
idoc.writeln("</script>");
}
//--Scenario 2: we're dealing with a normal positive(?) test case
else {
idoc.writeln("<script type='text/javascript'>" + code + "</script>");
idoc.writeln("<script type='text/javascript' defer>testFinished();" + "</script>");
//Add an error handler capable of catching so-called early errors
//idoc.writeln("<script type='text/javascript' src='harness/ed.js'>" + "</script>");
idoc.writeln("<script type='text/javascript'>");
idoc.writeln(errorDetectorFileContents);
idoc.writeln("</script>");
//Run the code
idoc.writeln("<script type='text/javascript'>");
if (/opera/i.test(navigator.userAgent)) { //Opera doesn't support window.onerror
idoc.writeln("try {eval(\"" + this.convertForEval(code) + "\");} catch(e) {window.onerror(e.toString(), null, null);}");
} else {
idoc.writeln(code);
}
idoc.writeln("</script>");
//Validate the results
//idoc.writeln("<script type='text/javascript' src='harness/gs.js' defer>" + "</script>");
idoc.writeln("<script type='text/javascript'>");
idoc.writeln(globalScopeContents);
idoc.writeln("</script>");
idoc.close();
}
@ -279,6 +267,21 @@ function TestLoader() {
}});
}
function getIdFromPath (path) {
//path is of the form "a/b/c.js"
var id = path.split("/");
//id is now of the form ["a", "b", "c.js"];
id = id[id.length-1];
//id is now of the form "c.js"
id = id.replace(/\.js$/i, "");
//id is now of the form "c"
return id;
}
/* Move on to the next test */
this.getNextTest = function() {
if(testGroups.length == 0) {
@ -287,7 +290,8 @@ function TestLoader() {
} else if(currentTestIndex < testGroups[testGroupIndex].tests.length) {
// We have tests left in this test group.
var test = testGroups[testGroupIndex].tests[currentTestIndex++];
var scriptCode = test.code;
var scriptCode = test.code;
test.id = getIdFromPath(test.path);
//var scriptCode = (test.firstChild.text != undefined) ?
// test.firstChild.text : test.firstChild.textContent;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.1.json Normal file

File diff suppressed because one or more lines are too long

1
website/json/15.10.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.11.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.12.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"testsCollection":{"name":"Chapter - 15.12_The_JSON_Object","numTests":"1","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBKU09OLnBhcnNlIG11c3QgY3JlYXRlIGEgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gcHJvcGVydHkgbmFtZQogKgogKiBAcGF0aCAxNV9OYXRpdmUvMTUuMTJfVGhlX0pTT05fT2JqZWN0LzE1LjEyLjJfSlNPTi5wYXJzZS9TMTUuMTIuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBKU09OLnBhcnNlIHRyZWF0cyAiX19wcm90b19fIiBhcyBhIHJlZ3VsYXIgcHJvcGVydHkgbmFtZQogKi8KCnZhciB4ID0gSlNPTi5wYXJzZSgneyJfX3Byb3RvX18iOltdfScpOwppZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHgpICE9PSBPYmplY3QucHJvdG90eXBlKSB7CiAgJEZBSUwoJyMxOiBKU09OLnBhcnNlIGNvbmZ1c2VkIGJ5ICJfX3Byb3RvX18iJyk7Cn0KaWYgKCFBcnJheS5pc0FycmF5KHguX19wcm90b19fKSkgewogICRGQUlMKCcjMjogSlNPTi5wYXJzZSBkaWQgbm90IHNldCAiX19wcm90b19fIiBhcyBhIHJlZ3VsYXIgcHJvcGVydHknKTsKfQoK","commentary":"JSON.parse must create a property with the given property name","description":"Tests that JSON.parse treats \"__proto__\" as a regular property name","path":"TestCases/converted/15_Native/15.12_The_JSON_Object/15.12.2_JSON.parse/S15.12.2_A1.js"}]}}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"testsCollection":{"name":"Chapter - 15.2.3.1","numTests":"1","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8vLyAKLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi8vLyAKLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgovKioKICogQHBhdGggY2hhcHRlcjE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xLzE1LjIuMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpCiAqLwoKCmZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICdwcm90b3R5cGUnKTsKICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYKICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJgogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0KcnVuVGVzdENhc2UodGVzdGNhc2UpOwo=","commentary":"","description":"Object.prototype is a data property with default attribute values (false)","path":"TestCases/converted/chapter15/15.2/15.2.3/15.2.3.1/15.2.3.1.js"}]}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.2.4.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.3.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.4.3.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"testsCollection":{"name":"Chapter - 15.4.4.10","numTests":"1","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8vLyAKLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi8vLyAKLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgovKioKICogQHBhdGggY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC8xNS40LjQuMTAtMTAtYy1paS0xLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc2xpY2Ugd2lsbCBzbGljZSBhIHN0cmluZyBmcm9tIHN0YXJ0IHRvIGVuZCB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKFN0ZXAgMTAuYy5paSkKICovCgoKZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIHZhbHVlOiAidGVzdCIsCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyT2JqLnNsaWNlKDAsIDEpOwogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgbmV3QXJyWzBdID09PSAxICYmIHR5cGVvZiBuZXdBcnJbMV0gPT09ICJ1bmRlZmluZWQiOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7Cg==","commentary":"","description":"Array.prototype.slice will slice a string from start to end when index property (read-only) exists in Array.prototype (Step 10.c.ii)","path":"TestCases/converted/chapter15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js"}]}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"testsCollection":{"name":"Chapter - 15.4.4.4","numTests":"1","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gCi8vLyAKLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQKLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IAovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCAKLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bwovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi8vLyAKLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IKLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgovKioKICogQHBhdGggY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC40LzE1LjQuNC40LTUtYi1paWktMy1iLTEuanMKICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5jb25jYXQgd2lsbCBjb25jYXQgYW4gQXJyYXkgd2hlbiBpbmRleCBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gQXJyYXkucHJvdG90eXBlIChTdGVwIDUuYi5paWkuMy5iKQogKi8KCgpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICB2YXIgb2xkQXJyID0gWzEwMV07CgogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5jYWxsKG9sZEFycik7CgogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsKICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSBuZXdBcnJbMF0gPT09IDEwMTsKCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7CiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gbmV3QXJyKSB7CiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7CiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOwogICAgICAgICAgICBuZXdBcnJbMF0gPSAxMjsKICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOwoKICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOwogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOwogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKTsKCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIHZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5V3JpdGFibGU7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9CnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsK","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.b.iii.3.b)","path":"TestCases/converted/chapter15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js"}]}}

1
website/json/15.4.5.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.5.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.7.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
website/json/15.9.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"date":"2011-09-25","numTests":11024,"testSuite":["json/07_Lexical_Conventions.json","json/08_Types.json","json/09_Type_Conversion.json","json/10_Execution_Contexts.json","json/11.10_Binary_Bitwise_Operators.json","json/11.11_Binary_Logical_Operators.json","json/11.12_Conditional_Operator.json","json/11.13_Assignment_Operators.json","json/11.14_Comma_Operator.json","json/11.1_Primary_Expressions.json","json/11.2_Left_Hand_Side_Expressions.json","json/11.3_PostfixExpressions.json","json/11.4_Unary_Operators.json","json/11.5_Multiplicative_Operators.json","json/11.6_Additive_Operators.json","json/11.7_Bitwise_Shift_Operators.json","json/11.8_Relational_Operators.json","json/11.9_Equality_Operators.json","json/12_Statement.json","json/13_Function_Definition.json","json/14_Program.json","json/15.10_RegExp_Objects.json","json/15.11_Error_Objects.json","json/15.12_The_JSON_Object.json","json/15.1_The_Global_Object.json","json/15.2_Object_Objects.json","json/15.3_Function_Objects.json","json/15.4_Array_Objects.json","json/15.5_String_Objects.json","json/15.6_Boolean_Objects.json","json/15.7_Number_Objects.json","json/15.8_The_Math_Object.json","json/15.9_Date_Objects.json","json/bestPractice.json","json/chapter07.json","json/chapter08.json","json/chapter10.json","json/chapter11.json","json/chapter12.json","json/chapter13.json","json/chapter14.json","json/15.1.json","json/15.10.json","json/15.11.json","json/15.12.json","json/15.2.3.1.json","json/15.2.3.10.json","json/15.2.3.11.json","json/15.2.3.12.json","json/15.2.3.13.json","json/15.2.3.14.json","json/15.2.3.2.json","json/15.2.3.3.json","json/15.2.3.4.json","json/15.2.3.5.json","json/15.2.3.6.json","json/15.2.3.7.json","json/15.2.3.8.json","json/15.2.3.9.json","json/15.2.4.json","json/15.3.json","json/15.4.3.json","json/15.4.4.10.json","json/15.4.4.12.json","json/15.4.4.14.json","json/15.4.4.15.json","json/15.4.4.16.json","json/15.4.4.17.json","json/15.4.4.18.json","json/15.4.4.19.json","json/15.4.4.20.json","json/15.4.4.21.json","json/15.4.4.22.json","json/15.4.4.4.json","json/15.4.5.json","json/15.5.json","json/15.7.json","json/15.9.json"],"version":"ES5"}

Some files were not shown because too many files have changed in this diff Show More