aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Fugate <dfugate@microsoft.com>2012-01-25 14:04:40 -0800
committerDavid Fugate <dfugate@microsoft.com>2012-01-25 14:04:40 -0800
commit279825ea4461647b930734a3a8a1c98a4e5b0b76 (patch)
tree63873c18d4d3ab1938257e88531df5e36700b57c
parentd7619456faaa7abcfe97aa68a2dfa4a6145d58b4 (diff)
Added experimental test402 support (JS internationalization standard).
-rw-r--r--test/suite/intl402/ch01/1.2/1.2-1_1.js42
-rw-r--r--tools/packaging/packagerConfig.py8
-rw-r--r--tools/packaging/templates/runner.intl402.html167
-rw-r--r--website/json/default.json2
-rw-r--r--website/json/intl402.json1
-rw-r--r--website/json/testcases_bestPractice.json2
-rw-r--r--website/json/testcases_ch07.json2
-rw-r--r--website/json/testcases_ch08.json2
-rw-r--r--website/json/testcases_ch09.json2
-rw-r--r--website/json/testcases_ch10.json2
-rw-r--r--website/json/testcases_ch11.json2
-rw-r--r--website/json/testcases_ch12.json2
-rw-r--r--website/json/testcases_ch13.json2
-rw-r--r--website/json/testcases_ch14.json2
-rw-r--r--website/json/testcases_ch15.json2
-rw-r--r--website/json/testcases_intl402.json1
-rw-r--r--website/testcases_intl402.html167
17 files changed, 396 insertions, 12 deletions
diff --git a/test/suite/intl402/ch01/1.2/1.2-1_1.js b/test/suite/intl402/ch01/1.2/1.2-1_1.js
new file mode 100644
index 000000000..220485f23
--- /dev/null
+++ b/test/suite/intl402/ch01/1.2/1.2-1_1.js
@@ -0,0 +1,42 @@
+/// Copyright (c) 2012 Microsoft Corporation
+///
+/// Redistribution and use in source and binary forms, with or without modification, are permitted provided
+/// that the following conditions are met:
+/// * Redistributions of source code must retain the above copyright notice, this list of conditions and
+/// the following disclaimer.
+/// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+/// the following disclaimer in the documentation and/or other materials provided with the distribution.
+/// * Neither the name of Microsoft nor the names of its contributors may be used to
+/// endorse or promote products derived from this software without specific prior written permission.
+///
+/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+/// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+/// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+/// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+/// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+/**
+ * @path intl402/ch01/1.2/1.2-1_1.js
+ * @description This is an example showing how to create Ecma standard 402 tests alongside test262 tests. Should be removed once the 402 effort gets underway
+ */
+
+//The first test case for a hypothetical Step 1 of section 1.2 in the Ecma
+//standard 402.
+
+function testcase() {
+ "use strict";
+
+ //whether the test case passed or failed
+ var passed = false;
+
+ //Here is where you'd actually test Step 1 of section 1.2 of the
+ //hypothetical standard. If the test passed against an
+ //implementation, you'd set passed to 'true'.
+ passed = true;
+
+ return passed;
+}
+runTestCase(testcase);
diff --git a/tools/packaging/packagerConfig.py b/tools/packaging/packagerConfig.py
index 348a6b245..0cf86aaff 100644
--- a/tools/packaging/packagerConfig.py
+++ b/tools/packaging/packagerConfig.py
@@ -69,7 +69,7 @@ WEBSITE_CASES_PATH = "json/"
EXCLUDED_FILENAME = os.path.join(TEST262_ROOT, "test", "config",
"excludelist.xml")
-WEBSITE_EXCLUDE_RE_LIST = ["bestPractice", "internationalization"]
+WEBSITE_EXCLUDE_RE_LIST = ["bestPractice", "intl402"]
WEBSITE_EXCLUDE_RE_LIST = [ re.compile(x) for x in WEBSITE_EXCLUDE_RE_LIST]
#------------------------------------------------------------------------------
@@ -83,9 +83,15 @@ def generateHarness(harnessType, jsonName, title):
if TEMPLATE_LINES==None or harnessType!=__lastHarnessType:
__lastHarnessType = harnessType
TEMPLATE_LINES = []
+
+ #TODO: temp hack to make internationalization tests work
+ if jsonName=="testcases_intl402.html":
+ harnessType = "intl402"
+
with open(os.path.join(os.getcwd(), "templates",
"runner." + harnessType + ".html"), "r") as f:
TEMPLATE_LINES = f.readlines()
+
fileName = os.path.join(TEST262_ROOT, WEBSITE_SHORT_NAME,
jsonName.replace(".json", ".html"))
fileNameExists = False
diff --git a/tools/packaging/templates/runner.intl402.html b/tools/packaging/templates/runner.intl402.html
new file mode 100644
index 000000000..1c17ca39c
--- /dev/null
+++ b/tools/packaging/templates/runner.intl402.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
+<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="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 = "json/testcaseslist.json";
+</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 language="javascript" type="text/javascript">
+ //To support all the browsers
+ $(window).resize(ResizeLoadIndicator);
+ $(window).load(ResizeLoadIndicator);
+ function ResizeLoadIndicator() {
+ $(".indicatorContainer .disabledBackground").css({ height: ($(window).height() - 20) + "px" });
+ }
+
+ $(".indicatorContainer").click(function(e) {
+ if (!e) { var e = window.event; }
+ e.cancelBubble = true;
+ if (e.stopPropagation) { e.stopPropagation(); }
+ });
+</script>
+
+<title>ECMAScript Test262</title>
+<link href="styles/style.css" media="screen" rel="stylesheet" title="CSS" type="text/css" />
+</head>
+<body>
+ <div class="indicatorContainer" oncontextmenu="return false;">
+ <!--Blank div to disable back portion when indicator is shown-->
+ <div class="disabledBackground"></div>
+ <div id="loadingIndicator">
+ <div>
+ <img src="./images/spinner.gif" alt="Loading..." />
+ <span>Loading...</span>
+ </div>
+ </div>
+ </div>
+
+ <div class="wrapper">
+ <!-- This Container holds the Logo -->
+ <div class="logoHeader">
+ <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>
+ </div>
+ <!-- This Container holds the Navigation -->
+ <div class="navBar">
+ <ul>
+ <li><a href="#" class="selected nav-link" id="home">Home</a></li>
+ <li><a href="#" class="nav-link" id="run">Run</a></li>
+ <li><a href="#" class="nav-link test-report-link" id="results">Results</a></li>
+ <li><a href="#" class="nav-link" id="development">Development</a></li>
+ </ul>
+ </div>
+ <div class="content-container" id="contentContainer">
+ <!-- This is the Main Content Container -->
+ <div class="content-home">
+ <p class="headers">What is test262?</p>
+ <p class="content">test262 is a test suite intended to check agreement between JavaScript implementations and the ECMA-262 Specification (currently 5th Edition). The test suite contains thousands of individual tests, each of which tests some specific requirements of the ECMAScript specification.</p>
+ <p class="headers">What is ECMAScript?</p>
+ <p class="content">"ECMAScript" is the name under which the language more commonly known as "JavaScript" is standardized. Development of the ECMAScript standard is the responsibility of <a href='javascript:void(window.open("http://www.ecma-international.org/memento/TC39.htm"));'>Technical Committee 39 (TC39)</a> of <a href='javascript:void(window.open("http://www.ecma-international.org/"));'>Ecma International</a>. The ECMAScript standard is officially known as ECMA-262. ECMAScript 5 (or just ES5) is short hand for the "ECMA-262, 5th Edition ECMAScript Language Specification" the official name of the current edition of the standard. ECMAScript 5 was approved as an official Ecma standard by the Ecma General Assembly on December 3, 2009. <a href='javascript:void(window.open("http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf"));'>The ECMAScript 5 Specification (PDF)</a> is available from the Ecma International web site.</p>
+ <p class="headers">Who creates and maintains test262?</p>
+ <p class="content">Development of test262 is a project of Ecma TC39. The testing framework and individual tests are created by member organizations of TC39 and contributed to Ecma for use in test262. For more information about how test262 is developed and maintained click the “Development” tab at the top of this page.</p>
+ <p class="headers">What is the status of test262?</p>
+ <p class="content"><strong>test262 is not yet complete. It is still undergoing active development.</strong> Some portions of the ES5 specification have very complete test coverage while other portions of the specification have only partial test coverage. Some tests may be invalid or may yield false positive or false negative results. A perfect passing score on test262 does not guarantee that a JavaScript implementation perfectly supports ES5. Because tests are being actively added and modified, tests results from different days or times may not be directly comparable. Click the “Development” tab at the top of this page for instructions for reporting test262 bugs.</p>
+ <p class="headers">Where can I found out more?</p>
+ <p class="content">Please visit our <a href='javascript:void(window.open("http://wiki.ecmascript.org/doku.php?id=test262:faq"));'>Frequently Asked Questions</a> section on the <a href='javascript:void(window.open("http://wiki.ecmascript.org/doku.php?id="));'>ECMAScript Wiki</a>.</p>
+
+ <p class="headers">Running the Tests</p>
+ <p class="content">Click the “Run” tab at the top of this page for instructions and follow the instructions to run the tests.</p>
+
+ <a href='javascript:void(window.open("http://www.ecma-international.org/memento/TC39.htm"));'></a>
+
+ </div>
+
+ <div class="content-dev">
+ <p class="headers">Development</p>
+ <p class="content">Test262 is being developed by the members of Ecma TC39. Ecma's intellectual property policies, permit only Ecma
+ members to directly contribute code to the project. However, a <a href='javascript:void(window.open("http://mail.mozilla.org/pipermail/test262-discuss/"));'>public mailing list</a> is used to coordinate development of Test262. If you wish to participate in the discussion please <a href='javascript:void(window.open("http://mail.mozilla.org/listinfo/test262-discuss"));'>subscribe</a>. Bug reports and suggestions should be sent to the mailing list.
+ </p>
+ <p class="content">
+ Ecma members can find detailed instructions on Test262 development procedures at the <a href='javascript:void(window.open("http://wiki.ecmascript.org/doku.php?id=test262:test262"));'>Test262 Wiki</a>.
+ </p>
+ </div>
+
+ <div class="content-tests">
+ <!-- This is the Main Content Container -->
+ <p class="content">Please click on the Start button to start the test. Once you start the test you may pause the test anytime by clicking on the Pause button. You can click on the Results tab once the test is completed or after pausing the test. The Reset button is for restarting the test run.</p>
+<!--
+ <div class="progressBarHolder">
+ Chapter Index: <input type="text" size="2" maxlength="2" value="" id="chapterId" onkeypress="if(event.keyCode < 48 || event.keyCode > 57){return false;}"/>
+ </div>
+-->
+ <!-- This is the Progress Bar Holder -->
+ <div class="progressBarHolder">
+ <div id="progressbar"></div>
+ <div class="progressBarButtons">
+ <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>
+ <p class="hide">>
+ Timer Value(ms) : <input id="txtTimerValue" value="50" /> <input id="btnSetTimerValue" value="Set Timer Value" type="button"/>
+ </p>
+ <!-- This is the Results Text Holder -->
+ <div class="resultsHeader">
+ <!--Total Loaded: <strong><span id="totalLoadedCounter"></span></strong><span class="Separator">|</span>-->
+ Tests To Run: <strong><span class="teststorun-counter" id="testsToRun"></span></strong>&nbsp;<span class="separator">|</span>
+ Total Tests Ran: <strong><span class="total-counter" id="totalCounter"></span></strong> <span class="separator">|</span> Pass: <span class="pass" id="Pass"></span> <span class="separator">|</span> Fail: <span class="fail" id="Fail"></span>
+ <span class="separator">|</span>&nbsp;Failed To Load: <span class="fail" id="failedToLoadCounter1"></span>
+ <p><span id="nextActivity"></span></p>
+ </div>
+ <!-- This is the Table -->
+ <div class="resultsTableHolder" id="tableLoggerParent">
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" class="table-logger" id="tableLogger"></table>
+ </div>
+ <div>
+ Test Suite Ver.: <span class="targetTestSuiteVersion"></span>&nbsp;<span class="separator">|</span>&nbsp;Test Suite Date: <span class="targetTestSuiteDate"></span>
+ </div>
+ </div>
+
+ <div class="content-results">
+ <div class="crumbContainer">
+ <div class="crumbs"></div>
+ <div style="float:right;"><a class="setBlue hide" id="backlinkDiv" href="#"><< back</a></div>
+ <div style="clear : both;"></div>
+ </div>
+ <div class="resultsHeader"> <strong>Total Tests:<span class="totalCases"></span></strong><br />
+ Passed: <span class="passedCases"></span> <span class="separator">|</span> Failed: <span class="failedCases"></span> <span class="separator">|</span>
+ Failed To Load: <strong><span id="failedToLoadCounter"></span></strong>
+ </div>
+ <!-- This is the Table -->
+ <div class="resultsTableHolder">
+ <table width="100%" cellspacing="0" cellpadding="0" border="0" class="results-data-table"> </table>
+ <div id="resultMessage">Test results will be displayed after the tests are executed using the Run page.</div>
+ </div>
+ <div>
+ 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="scripts/testcases.zip">Download Source</a></strong></p>-->
+ </div>
+ <div id="legend" class="hide">
+ <label class="reportGreen">Green:</label>&nbsp;100%&nbsp;
+ <label class="reportLightGreen">Green:</label>&nbsp;75% to 99.9%&nbsp;
+ <label class="reportYellow">Yellow:</label>&nbsp;50% to 75% &nbsp;
+ <label class="reportRed">Red:</label>&nbsp;less than 50%
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- This is the Footer -->
+ <div class="footer">
+ <!--<div class="Links"> <a href="">Privacy</a> | <a href="">Terms of Use</a> </div>-->
+ <div class="copyright"> &copy; <a href='javascript:void(window.open("http://www.ecma-international.org"));'>Ecma International</a> </div>
+ </div>
+ <iframe id="scriptLoader" class="hide"></iframe>
+</body>
+</html>
diff --git a/website/json/default.json b/website/json/default.json
index 0c84f4bf4..ceb631d04 100644
--- a/website/json/default.json
+++ b/website/json/default.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":11181,"testSuite":["json/ch07.json","json/ch08.json","json/ch09.json","json/ch10.json","json/ch11.json","json/ch12.json","json/ch13.json","json/ch14.json","json/ch15.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":11181,"testSuite":["json/ch07.json","json/ch08.json","json/ch09.json","json/ch10.json","json/ch11.json","json/ch12.json","json/ch13.json","json/ch14.json","json/ch15.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/intl402.json b/website/json/intl402.json
new file mode 100644
index 000000000..ec2531885
--- /dev/null
+++ b/website/json/intl402.json
@@ -0,0 +1 @@
+{"testsCollection":{"name":"Chapter - intl402","numTests":"1","tests":[{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGludGw0MDIvY2gwMS8xLjIvMS4yLTFfMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoaXMgaXMgYW4gZXhhbXBsZSBzaG93aW5nIGhvdyB0byBjcmVhdGUgRWNtYSBzdGFuZGFyZCA0MDIgdGVzdHMgYWxvbmdzaWRlIHRlc3QyNjIgdGVzdHMuIFNob3VsZCBiZSByZW1vdmVkIG9uY2UgdGhlIDQwMiBlZmZvcnQgZ2V0cyB1bmRlcndheQ0KICovDQoNCi8vVGhlIGZpcnN0IHRlc3QgY2FzZSBmb3IgYSBoeXBvdGhldGljYWwgU3RlcCAxIG9mIHNlY3Rpb24gMS4yIGluIHRoZSBFY21hIA0KLy9zdGFuZGFyZCA0MDIuDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICANCiAgICAvL3doZXRoZXIgdGhlIHRlc3QgY2FzZSBwYXNzZWQgb3IgZmFpbGVkDQogICAgdmFyIHBhc3NlZCA9IGZhbHNlOw0KICAgIA0KICAgIC8vSGVyZSBpcyB3aGVyZSB5b3UnZCBhY3R1YWxseSB0ZXN0IFN0ZXAgMSBvZiBzZWN0aW9uIDEuMiBvZiB0aGUgDQogICAgLy9oeXBvdGhldGljYWwgc3RhbmRhcmQuICBJZiB0aGUgdGVzdCBwYXNzZWQgYWdhaW5zdCBhbiANCiAgICAvL2ltcGxlbWVudGF0aW9uLCB5b3UnZCBzZXQgcGFzc2VkIHRvICd0cnVlJy4NCiAgICBwYXNzZWQgPSB0cnVlOw0KICAgIA0KICAgIHJldHVybiBwYXNzZWQ7IA0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"This is an example showing how to create Ecma standard 402 tests alongside test262 tests. Should be removed once the 402 effort gets underway","path":"TestCases/intl402/ch01/1.2/1.2-1_1.js"}]}} \ No newline at end of file
diff --git a/website/json/testcases_bestPractice.json b/website/json/testcases_bestPractice.json
index fb8237f99..8067093fd 100644
--- a/website/json/testcases_bestPractice.json
+++ b/website/json/testcases_bestPractice.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":13,"testSuite":["json/bestPractice.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":13,"testSuite":["json/bestPractice.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch07.json b/website/json/testcases_ch07.json
index 624cad272..78a20944a 100644
--- a/website/json/testcases_ch07.json
+++ b/website/json/testcases_ch07.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":716,"testSuite":["json/ch07.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":716,"testSuite":["json/ch07.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch08.json b/website/json/testcases_ch08.json
index 6c1261fb9..fc9f13faf 100644
--- a/website/json/testcases_ch08.json
+++ b/website/json/testcases_ch08.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":124,"testSuite":["json/ch08.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":124,"testSuite":["json/ch08.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch09.json b/website/json/testcases_ch09.json
index 929db6faf..b5ac4056f 100644
--- a/website/json/testcases_ch09.json
+++ b/website/json/testcases_ch09.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":128,"testSuite":["json/ch09.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":128,"testSuite":["json/ch09.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch10.json b/website/json/testcases_ch10.json
index 2e7b49ddd..fc84408e3 100644
--- a/website/json/testcases_ch10.json
+++ b/website/json/testcases_ch10.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":184,"testSuite":["json/ch10.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":184,"testSuite":["json/ch10.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch11.json b/website/json/testcases_ch11.json
index caaefe138..1341029f6 100644
--- a/website/json/testcases_ch11.json
+++ b/website/json/testcases_ch11.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":1310,"testSuite":["json/ch11.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":1310,"testSuite":["json/ch11.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch12.json b/website/json/testcases_ch12.json
index 7022527e5..dec120575 100644
--- a/website/json/testcases_ch12.json
+++ b/website/json/testcases_ch12.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":525,"testSuite":["json/ch12.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":525,"testSuite":["json/ch12.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch13.json b/website/json/testcases_ch13.json
index 0e7b43d04..7af9dd594 100644
--- a/website/json/testcases_ch13.json
+++ b/website/json/testcases_ch13.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":200,"testSuite":["json/ch13.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":200,"testSuite":["json/ch13.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch14.json b/website/json/testcases_ch14.json
index df46f4ec3..a05d18bc2 100644
--- a/website/json/testcases_ch14.json
+++ b/website/json/testcases_ch14.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":24,"testSuite":["json/ch14.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":24,"testSuite":["json/ch14.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_ch15.json b/website/json/testcases_ch15.json
index 57e1d618a..1ef3d5f60 100644
--- a/website/json/testcases_ch15.json
+++ b/website/json/testcases_ch15.json
@@ -1 +1 @@
-{"date":"2012-01-19","numTests":7970,"testSuite":["json/ch15.json"],"version":"ES5.1"} \ No newline at end of file
+{"date":"2012-01-25","numTests":7970,"testSuite":["json/ch15.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/json/testcases_intl402.json b/website/json/testcases_intl402.json
new file mode 100644
index 000000000..4eabfa45f
--- /dev/null
+++ b/website/json/testcases_intl402.json
@@ -0,0 +1 @@
+{"date":"2012-01-25","numTests":1,"testSuite":["json/intl402.json"],"version":"ES5.1"} \ No newline at end of file
diff --git a/website/testcases_intl402.html b/website/testcases_intl402.html
new file mode 100644
index 000000000..2364e0ece
--- /dev/null
+++ b/website/testcases_intl402.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
+<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="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 = "json/testcases_intl402.json";
+</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 language="javascript" type="text/javascript">
+ //To support all the browsers
+ $(window).resize(ResizeLoadIndicator);
+ $(window).load(ResizeLoadIndicator);
+ function ResizeLoadIndicator() {
+ $(".indicatorContainer .disabledBackground").css({ height: ($(window).height() - 20) + "px" });
+ }
+
+ $(".indicatorContainer").click(function(e) {
+ if (!e) { var e = window.event; }
+ e.cancelBubble = true;
+ if (e.stopPropagation) { e.stopPropagation(); }
+ });
+</script>
+
+<title>ECMAScript Test262</title>
+<link href="styles/style.css" media="screen" rel="stylesheet" title="CSS" type="text/css" />
+</head>
+<body>
+ <div class="indicatorContainer" oncontextmenu="return false;">
+ <!--Blank div to disable back portion when indicator is shown-->
+ <div class="disabledBackground"></div>
+ <div id="loadingIndicator">
+ <div>
+ <img src="./images/spinner.gif" alt="Loading..." />
+ <span>Loading...</span>
+ </div>
+ </div>
+ </div>
+
+ <div class="wrapper">
+ <!-- This Container holds the Logo -->
+ <div class="logoHeader">
+ <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>
+ </div>
+ <!-- This Container holds the Navigation -->
+ <div class="navBar">
+ <ul>
+ <li><a href="#" class="selected nav-link" id="home">Home</a></li>
+ <li><a href="#" class="nav-link" id="run">Run</a></li>
+ <li><a href="#" class="nav-link test-report-link" id="results">Results</a></li>
+ <li><a href="#" class="nav-link" id="development">Development</a></li>
+ </ul>
+ </div>
+ <div class="content-container" id="contentContainer">
+ <!-- This is the Main Content Container -->
+ <div class="content-home">
+ <p class="headers">What is test262?</p>
+ <p class="content">test262 is a test suite intended to check agreement between JavaScript implementations and the ECMA-262 Specification (currently 5th Edition). The test suite contains thousands of individual tests, each of which tests some specific requirements of the ECMAScript specification.</p>
+ <p class="headers">What is ECMAScript?</p>
+ <p class="content">"ECMAScript" is the name under which the language more commonly known as "JavaScript" is standardized. Development of the ECMAScript standard is the responsibility of <a href='javascript:void(window.open("http://www.ecma-international.org/memento/TC39.htm"));'>Technical Committee 39 (TC39)</a> of <a href='javascript:void(window.open("http://www.ecma-international.org/"));'>Ecma International</a>. The ECMAScript standard is officially known as ECMA-262. ECMAScript 5 (or just ES5) is short hand for the "ECMA-262, 5th Edition ECMAScript Language Specification" the official name of the current edition of the standard. ECMAScript 5 was approved as an official Ecma standard by the Ecma General Assembly on December 3, 2009. <a href='javascript:void(window.open("http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf"));'>The ECMAScript 5 Specification (PDF)</a> is available from the Ecma International web site.</p>
+ <p class="headers">Who creates and maintains test262?</p>
+ <p class="content">Development of test262 is a project of Ecma TC39. The testing framework and individual tests are created by member organizations of TC39 and contributed to Ecma for use in test262. For more information about how test262 is developed and maintained click the “Development” tab at the top of this page.</p>
+ <p class="headers">What is the status of test262?</p>
+ <p class="content"><strong>test262 is not yet complete. It is still undergoing active development.</strong> Some portions of the ES5 specification have very complete test coverage while other portions of the specification have only partial test coverage. Some tests may be invalid or may yield false positive or false negative results. A perfect passing score on test262 does not guarantee that a JavaScript implementation perfectly supports ES5. Because tests are being actively added and modified, tests results from different days or times may not be directly comparable. Click the “Development” tab at the top of this page for instructions for reporting test262 bugs.</p>
+ <p class="headers">Where can I found out more?</p>
+ <p class="content">Please visit our <a href='javascript:void(window.open("http://wiki.ecmascript.org/doku.php?id=test262:faq"));'>Frequently Asked Questions</a> section on the <a href='javascript:void(window.open("http://wiki.ecmascript.org/doku.php?id="));'>ECMAScript Wiki</a>.</p>
+
+ <p class="headers">Running the Tests</p>
+ <p class="content">Click the “Run” tab at the top of this page for instructions and follow the instructions to run the tests.</p>
+
+ <a href='javascript:void(window.open("http://www.ecma-international.org/memento/TC39.htm"));'></a>
+
+ </div>
+
+ <div class="content-dev">
+ <p class="headers">Development</p>
+ <p class="content">Test262 is being developed by the members of Ecma TC39. Ecma's intellectual property policies, permit only Ecma
+ members to directly contribute code to the project. However, a <a href='javascript:void(window.open("http://mail.mozilla.org/pipermail/test262-discuss/"));'>public mailing list</a> is used to coordinate development of Test262. If you wish to participate in the discussion please <a href='javascript:void(window.open("http://mail.mozilla.org/listinfo/test262-discuss"));'>subscribe</a>. Bug reports and suggestions should be sent to the mailing list.
+ </p>
+ <p class="content">
+ Ecma members can find detailed instructions on Test262 development procedures at the <a href='javascript:void(window.open("http://wiki.ecmascript.org/doku.php?id=test262:test262"));'>Test262 Wiki</a>.
+ </p>
+ </div>
+
+ <div class="content-tests">
+ <!-- This is the Main Content Container -->
+ <p class="content">Please click on the Start button to start the test. Once you start the test you may pause the test anytime by clicking on the Pause button. You can click on the Results tab once the test is completed or after pausing the test. The Reset button is for restarting the test run.</p>
+<!--
+ <div class="progressBarHolder">
+ Chapter Index: <input type="text" size="2" maxlength="2" value="" id="chapterId" onkeypress="if(event.keyCode < 48 || event.keyCode > 57){return false;}"/>
+ </div>
+-->
+ <!-- This is the Progress Bar Holder -->
+ <div class="progressBarHolder">
+ <div id="progressbar"></div>
+ <div class="progressBarButtons">
+ <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>
+ <p class="hide">>
+ Timer Value(ms) : <input id="txtTimerValue" value="50" /> <input id="btnSetTimerValue" value="Set Timer Value" type="button"/>
+ </p>
+ <!-- This is the Results Text Holder -->
+ <div class="resultsHeader">
+ <!--Total Loaded: <strong><span id="totalLoadedCounter"></span></strong><span class="Separator">|</span>-->
+ Tests To Run: <strong><span class="teststorun-counter" id="testsToRun"></span></strong>&nbsp;<span class="separator">|</span>
+ Total Tests Ran: <strong><span class="total-counter" id="totalCounter"></span></strong> <span class="separator">|</span> Pass: <span class="pass" id="Pass"></span> <span class="separator">|</span> Fail: <span class="fail" id="Fail"></span>
+ <span class="separator">|</span>&nbsp;Failed To Load: <span class="fail" id="failedToLoadCounter1"></span>
+ <p><span id="nextActivity"></span></p>
+ </div>
+ <!-- This is the Table -->
+ <div class="resultsTableHolder" id="tableLoggerParent">
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" class="table-logger" id="tableLogger"></table>
+ </div>
+ <div>
+ Test Suite Ver.: <span class="targetTestSuiteVersion"></span>&nbsp;<span class="separator">|</span>&nbsp;Test Suite Date: <span class="targetTestSuiteDate"></span>
+ </div>
+ </div>
+
+ <div class="content-results">
+ <div class="crumbContainer">
+ <div class="crumbs"></div>
+ <div style="float:right;"><a class="setBlue hide" id="backlinkDiv" href="#"><< back</a></div>
+ <div style="clear : both;"></div>
+ </div>
+ <div class="resultsHeader"> <strong>Total Tests:<span class="totalCases"></span></strong><br />
+ Passed: <span class="passedCases"></span> <span class="separator">|</span> Failed: <span class="failedCases"></span> <span class="separator">|</span>
+ Failed To Load: <strong><span id="failedToLoadCounter"></span></strong>
+ </div>
+ <!-- This is the Table -->
+ <div class="resultsTableHolder">
+ <table width="100%" cellspacing="0" cellpadding="0" border="0" class="results-data-table"> </table>
+ <div id="resultMessage">Test results will be displayed after the tests are executed using the Run page.</div>
+ </div>
+ <div>
+ 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="scripts/testcases.zip">Download Source</a></strong></p>-->
+ </div>
+ <div id="legend" class="hide">
+ <label class="reportGreen">Green:</label>&nbsp;100%&nbsp;
+ <label class="reportLightGreen">Green:</label>&nbsp;75% to 99.9%&nbsp;
+ <label class="reportYellow">Yellow:</label>&nbsp;50% to 75% &nbsp;
+ <label class="reportRed">Red:</label>&nbsp;less than 50%
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- This is the Footer -->
+ <div class="footer">
+ <!--<div class="Links"> <a href="">Privacy</a> | <a href="">Terms of Use</a> </div>-->
+ <div class="copyright"> &copy; <a href='javascript:void(window.open("http://www.ecma-international.org"));'>Ecma International</a> </div>
+ </div>
+ <iframe id="scriptLoader" class="hide"></iframe>
+</body>
+</html>