- all files supporting the 'Browsers' tab have been removed.

- updated website version number to 0.2
This commit is contained in:
David Fugate 2011-01-17 11:08:45 -08:00
parent 0252ed17af
commit 8bd3768a4e
14 changed files with 3 additions and 120078 deletions

View File

@ -162,7 +162,7 @@ function Presenter() {
xml = '<testRun>\r\n' +
'<userAgent>' + window.navigator.userAgent + '</userAgent>\r\n' +
'<browserName>REPLACE WITH BROWSERNAME BEFORE PUSHING TO HG</browserName>\r\n' +
'<browserName>REPLACE WITH BROWSERNAME</browserName>\r\n' +
'<Date>' + dateNow.toDateString() + '</Date>\r\n' +
'<Submitter> ADD SUBMITTER</Submitter>\r\n' +
'<targetTestSuiteName>ECMAScript Test262 Site</targetTestSuiteName>\r\n' +
@ -172,7 +172,6 @@ function Presenter() {
reportWindow = window.open();
reportWindow.document.writeln("<title>ECMAScript Test262 XML</title>");
reportWindow.document.writeln("<div>Instructions: Update the BROWSERNAME value and submit to Hg. Send email to the <a href='mailto:body@ecmascript.org' >list</a> for assistance.</div>");
reportWindow.document.write("<textarea id='results' style='width: 100%; height: 800px;'>");
reportWindow.document.write(xml);
reportWindow.document.write(globalSection.toXML());

View File

@ -1,178 +0,0 @@
<!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="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="resources/scripts/global/sth.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/reports.js"></script>
<script type="text/javascript" src="resources/scripts/global/sputnikLib.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="resources/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="./resources/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="resources/images/logo.png" /></div>
<div class="ecmascriptbacklink">
<p><a href="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>
<li><a href="#" class="nav-link" id="browsers">Browsers Report</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 that may be used to check how closely a JavaScript implementation follows the ECMAScript 5th Edition Specification. 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 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">Running the Tests</p>
<p class="content">Click the “Run Tests” tab at the top of this page for instructions and follow the instructions to run the tests.</p>
</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="http://mail.mozilla.org/pipermail/test262-discuss/">public mailing list</a> is used to coordinate development of Test62. If you wish to participate in the discussion please <a href="http://mail.mozilla.org/listinfo/test262-discuss">subscribe</a>. Bug reports and suggestions should be sent to the mailing list.
</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 Test Reports menu 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="resources/images/reset.png" class="button-reset"/>&nbsp;<img src="resources/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" ><< 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="resources/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 class="content-browsers">
<div>
<h2>ECMAScript Test262 Results For Browsers</h2>
<p>Test262 is a test suite that may be used to check how closely a JavaScript implementation follows the standard ECMAScript 5th Edition Specification. The test suite contains thousands of individual tests, each of which tests some specific requirements of the ECMAScript specification.
<p><b style="color:Red;">Test262 is not yet complete. It is still undergoing active development.</b></p><p>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.</p>
<p>Below are Test262 test results that have been submitted by various browser vendors. Note that slightly different versions of Test262 may have been used for each result set. Because tests are being actively added and modified, detail test results from different Test262 versions may not be directly comparable.</p>
</div>
<div class="crumbContainer">
<div style="float:right;"><a class="setBlue hide" id="backBrowserReportDiv" href="javascript:buildTable();"><< back</a></div>
<div style="clear : both;"></div>
</div>
<div class="resultsTableHolder reportTableHolder" id="report"></div>
<div id="legend1">
<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="links">Ver. 0.1.1 16-Nov-2010</div>
<div class="copyright"> &copy; <a href="http://www.ecma-international.org">ECMA International</a> </div>
</div>
<iframe id="scriptLoader" class="hide"></iframe>
</body>
</html>

View File

@ -147,32 +147,12 @@
<label class="reportRed">Red:</label>&nbsp;less than 50%
</div>
</div>
<div class="content-browsers">
<div>
<h2>ECMAScript Test262 Results For Browsers</h2>
<p>Test262 is a test suite that may be used to check how closely a JavaScript implementation follows the standard ECMAScript 5th Edition Specification. The test suite contains thousands of individual tests, each of which tests some specific requirements of the ECMAScript specification.
<p><b style="color:Red;">Test262 is not yet complete. It is still undergoing active development.</b></p><p>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.</p>
<p>Below are Test262 test results that have been submitted by various browser vendors. Note that slightly different versions of Test262 may have been used for each result set. Because tests are being actively added and modified, detail test results from different Test262 versions may not be directly comparable.</p>
</div>
<div class="crumbContainer">
<div style="float:right;"><a class="setBlue hide" id="backBrowserReportDiv" href="javascript:buildTable();"><< back</a></div>
<div style="clear : both;"></div>
</div>
<div class="resultsTableHolder reportTableHolder" id="report"></div>
<div id="legend1">
<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="links">Ver. 0.1.1 16-Nov-2010</div>
<div class="links">Ver. 0.2 17-Jan-2011</div>
<div class="copyright"> &copy; <a href="http://www.ecma-international.org">ECMA International</a> </div>
</div>
<iframe id="scriptLoader" class="hide"></iframe>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<testReport>
</testReport>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,152 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="html" indent="yes"/>
<xsl:variable name="RED_LIMIT" select="50"/>
<xsl:variable name="YELLOW_LIMIT" select="75"/>
<xsl:variable name="GREEN_LIMIT" select="99.9"/>
<xsl:param name="sectionID" select="14"/>
<xsl:template match="testReport">
<table id="section-{$sectionID}" width="100%" class="results-data-table" border="0" cellSpacing="0" cellPadding="0">
<tbody>
<!-- Header -->
<tr class="reportTblHeader">
<td width="20%" style="text-align:right;">
Browser:
<br/>
Tests executed:
<br/>
Test Suite Ver.:
<br/>
Test Suite Date:
</td>
<xsl:for-each select="testRun">
<td>
<xsl:value-of select="browserName"/>
<br/>
<xsl:value-of select="Date"/>
<br/>
<xsl:value-of select="targetTestSuiteVersion"/>
<br/>
<xsl:value-of select="targetTestSuiteDate"/>
</td>
</xsl:for-each>
</tr>
<!-- end Header -->
<xsl:variable name="sec" select="//section[(@id = $sectionID)]"/>
<tr>
<xsl:if test="count($sec/test) &gt; 0">
<td width="10%">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('javascript:createTestListTable(&quot;', $sec/@id ,'&quot;);')"/>
</xsl:attribute>
<xsl:value-of select="$sec/@id"/> - <xsl:value-of select="$sec/@name"/>
</xsl:element>
</td>
<xsl:for-each select="$sec">
<xsl:variable name="passRate" select="floor((count(test/res[text() ='pass'])) div (count(test)) * 100)"/>
<xsl:variable name="tdClass" select="'reportGreen'"/>
<xsl:call-template name="passRateCell">
<xsl:with-param name="passRate" select="$passRate"/>
<xsl:with-param name="pass" select="count(test/res[text() ='pass'])"/>
<xsl:with-param name="total" select="count(test)"/>
</xsl:call-template>
</xsl:for-each>
</xsl:if>
</tr>
<xsl:for-each select="$sec//section[not(@id = preceding::section/@id)]">
<xsl:if test="count(test) &gt; 0">
<tr>
<td width="10%">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('javascript:createTestListTable(&quot;',@id,'&quot;);')"/>
</xsl:attribute>
<xsl:value-of select="@id"/> - <xsl:value-of select="@name"/>
</xsl:element>
</td>
<xsl:variable name="id" select="@id"/>
<xsl:for-each select="//section[@id = $id]">
<xsl:variable name="passRate" select="floor((count(test/res[text() ='pass'])) div (count(test)) * 100)"/>
<xsl:variable name="tdClass" select="'reportGreen'"/>
<xsl:call-template name="passRateCell">
<xsl:with-param name="passRate" select="$passRate"/>
<xsl:with-param name="pass" select="count(test/res[text() ='pass'])"/>
<xsl:with-param name="total" select="count(test)"/>
</xsl:call-template>
</xsl:for-each>
</tr>
</xsl:if>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
<xsl:template name="passRateCell">
<xsl:param name="passRate"/>
<xsl:param name="pass"/>
<xsl:param name="total"/>
<xsl:choose>
<xsl:when test="string($passRate) = 'NaN'">
<td></td>
</xsl:when>
<xsl:when test="$passRate &gt; $GREEN_LIMIT">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportGreen'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="' background-color: #63be00;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:when>
<xsl:when test="$passRate &gt;= $YELLOW_LIMIT">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportLightGreen'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="' background-color: #63be7b;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:when>
<xsl:when test="$passRate &gt; $RED_LIMIT">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportYellow'"/>
</xsl:attribute>
<xsl:attribute name="style">
<xsl:value-of select="'background-color: #f7ba44;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportRed'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="'background-color: #f85050;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="html" indent="yes"/>
<xsl:variable name="RED_LIMIT" select="50"/>
<xsl:variable name="YELLOW_LIMIT" select="75"/>
<xsl:variable name="GREEN_LIMIT" select="99.9"/>
<xsl:param name="sectionID" select="'7'" />
<xsl:template match="testReport">
<xsl:variable name="testReport" select="."/>
<xsl:variable name="tableID" select="concat('TestList_',translate($sectionID,'.','_'))"/>
<table id="{$tableID}" width="100%" class="results-data-table" border="0" cellSpacing="0" cellPadding="0">
<tbody>
<!-- Header -->
<tr class="reportTblHeader">
<td width="20%" style="text-align:right;">
Browser:
<br/>
Tests executed:
<br/>
Test Suite Ver.:
<br/>
Test Suite Date:
</td>
<xsl:for-each select="testRun">
<td>
<xsl:value-of select="browserName"/>
<br/>
<xsl:value-of select="Date"/>
<br/>
<xsl:value-of select="targetTestSuiteVersion"/>
<br/>
<xsl:value-of select="targetTestSuiteDate"/>
</td>
</xsl:for-each>
</tr>
<!-- end Header -->
<!-- Find all unique testids that belongs to $sectionID -->
<xsl:for-each select="//section[@id = $sectionID]/test[not(./testId = preceding::test/testId)]/testId">
<xsl:variable name="testId" select="."/>
<tr>
<td>
<xsl:value-of select="$testId"/>
</td>
<!-- Show test result for each browser -->
<xsl:for-each select="$testReport/testRun">
<xsl:variable name="test" select="./Tests//section[@id = $sectionID]/test[testId = $testId]"/>
<xsl:call-template name="resCell">
<xsl:with-param name="test" select="$test"/>
</xsl:call-template>
</xsl:for-each>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
<xsl:template name="resCell">
<xsl:param name="test"/>
<xsl:element name="td">
<xsl:if test="$test/res">
<xsl:choose>
<xsl:when test="$test/res = 'pass'">
<xsl:attribute name="class">
<xsl:value-of select="'reportGreen'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="' background-color: #63be00;color: #fff;'"/>
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class">
<xsl:value-of select="'reportRed'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="'background-color: #f85050;color: #fff;'"/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$test/res"/>
</xsl:if>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@ -1,136 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="html" indent="yes"/>
<xsl:variable name="RED_LIMIT" select="50"/>
<xsl:variable name="YELLOW_LIMIT" select="75"/>
<xsl:variable name="GREEN_LIMIT" select="99.9"/>
<xsl:template match="testReport">
<table id="SummaryTable" width="100%" class="browser-results-data-table" border="0" cellSpacing="0" cellPadding="0">
<tbody>
<!-- Header -->
<tr class="reportTblHeader">
<td width="20%" style="text-align:right;">
Browser:
<br/>
Tests executed:
<br/>
Test Suite Ver.:
<br/>
Test Suite Date:
</td>
<xsl:for-each select="testRun">
<td>
<xsl:value-of select="browserName"/>
<br/>
<xsl:value-of select="Date"/>
<br/>
<xsl:value-of select="targetTestSuiteVersion"/>
<br/>
<xsl:value-of select="targetTestSuiteDate"/>
</td>
</xsl:for-each>
</tr>
<!-- end Header -->
<!--
<tr>
<td>
<b>ES5 Pass Rate:</b>
</td>
<xsl:for-each select="testRun">
<td>
<b>
<xsl:value-of select='format-number(count(.//section/test/res[text() ="pass"]) div (count(.//section/test)),"#.00%")'/>
</b>
</td>
</xsl:for-each>
</tr>
-->
<xsl:for-each select="testRun[position() = 1]/Tests/section">
<tr>
<td width="10%">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('javascript:createDetailsTable(&quot;',@id,'&quot;);')"/>
</xsl:attribute>
<xsl:value-of select="@id"/> - <xsl:value-of select="@name"/>
</xsl:element>
</td>
<xsl:variable name="id" select="@id"/>
<xsl:for-each select="//testRun/Tests/section[@id = $id]">
<xsl:variable name="passRate" select="floor((count(descendant::test/res[text() ='pass'])) div (count(descendant::test)) * 100)"/>
<xsl:variable name="tdClass" select="'reportGreen'"/>
<xsl:call-template name="passRateCell">
<xsl:with-param name="passRate" select="$passRate"/>
<xsl:with-param name="pass" select="count(descendant::test/res[text() ='pass'])"/>
<xsl:with-param name="total" select="count(descendant::test)"/>
</xsl:call-template>
</xsl:for-each>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
<xsl:template name="passRateCell">
<xsl:param name="passRate"/>
<xsl:param name="pass"/>
<xsl:param name="total"/>
<xsl:choose>
<xsl:when test="$passRate &gt; $GREEN_LIMIT">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportGreen'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="' background-color: #63be00;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:when>
<xsl:when test="$passRate &gt;= $YELLOW_LIMIT">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportLightGreen'" />
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="' background-color: #63be7b;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:when>
<xsl:when test="$passRate &gt; $RED_LIMIT">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportYellow'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="'background-color: #f7ba44;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="'reportRed'"/>
</xsl:attribute>
<!--CSS class are not reflecting in Chrome and Safari because of dynamic generation of table that is why inline style attribute is used-->
<xsl:attribute name="style">
<xsl:value-of select="'background-color: #f85050;color: #fff;'"/>
</xsl:attribute>
<xsl:value-of select="$passRate"/> % -
<xsl:value-of select="$pass"/>/<xsl:value-of select="$total"/>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -162,7 +162,7 @@ function Presenter() {
xml = '<testRun>\r\n' +
'<userAgent>' + window.navigator.userAgent + '</userAgent>\r\n' +
'<browserName>REPLACE WITH BROWSERNAME BEFORE PUSHING TO HG</browserName>\r\n' +
'<browserName>REPLACE WITH BROWSERNAME</browserName>\r\n' +
'<Date>' + dateNow.toDateString() + '</Date>\r\n' +
'<Submitter> ADD SUBMITTER</Submitter>\r\n' +
'<targetTestSuiteName>ECMAScript Test262 Site</targetTestSuiteName>\r\n' +
@ -172,7 +172,6 @@ function Presenter() {
reportWindow = window.open();
reportWindow.document.writeln("<title>ECMAScript Test262 XML</title>");
reportWindow.document.writeln("<div>Instructions: Update the BROWSERNAME value and submit to Hg. Send email to the <a href='mailto:body@ecmascript.org' >list</a> for assistance.</div>");
reportWindow.document.write("<textarea id='results' style='width: 100%; height: 800px;'>");
reportWindow.document.write(xml);
reportWindow.document.write(globalSection.toXML());

View File

@ -1,157 +0,0 @@

var TEST_RESULT_PATH = "enginereports/testresults/";
var TEST_REPORT_PATH = "enginereports/testreport.xml";
var TESTS_REPORT_TABLE_XSL = "enginereports/testsreporttable.xsl";
var TEST_REPORT_DETAILS_TABLE_XSL = "enginereports/testsreportdetailstable.xsl";
var TEST_REPORT_INDIV_TESTS_TABLE_XSL="enginereports/testsreportindividualtestdetailstable.xsl";
var bigFile = null;
var xslReportSummary = loadXMLDoc(TESTS_REPORT_TABLE_XSL);
var fileList = [];
var xslReportDetails = loadXMLDoc(TEST_REPORT_DETAILS_TABLE_XSL);
var xslTestList = loadXMLDoc(TEST_REPORT_INDIV_TESTS_TABLE_XSL);
// Populate fileList array by reading all xml files in "/enginereports/testresults" directory on server
function loadTestResultList() {
if (fileList.length === 0) {
var tempList = ["chrome.xml", "firefox.xml", "ie.xml", "safari.xml"];
for (var i = 0; i < tempList.length; i++) {
fileList.push(TEST_RESULT_PATH + tempList[i]);
}
}
/*TODO - fix this once we have nginx.conf setup properly for TEST_RESULT_PATH listings
on the deployment server
if (fileList.length === 0) {
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", TEST_RESULT_PATH, false);
httpRequest.send();
// Insert temp elemnt into document with result from directory listing result
var tempDiv = document.createElement('tempDiv');
tempDiv.innerHTML = httpRequest.responseText;
// Get all hyperlinks from directory listing result
var linkElements = tempDiv.getElementsByTagName("a");
for (var i = 0; i < linkElements.length; i++) {
if (linkElements[i].pathname.match(".xml$")) {
fileList.push(TEST_RESULT_PATH + linkElements[i].innerText);
}
}
}
*/
}
function createTestReportFile(fileList) {
var testReport = loadXMLDoc(TEST_REPORT_PATH);
for (var i = 0; i < fileList.length; i++) {
xml = loadXMLDoc(fileList[i]);
if (window.ActiveXObject) {
testReport.documentElement.appendChild(xml.documentElement);
} else {
var newNode = testReport.importNode(xml.documentElement, true);
testReport.firstChild.appendChild(newNode);
}
}
return testReport;
}
function loadXMLDoc(dname, type) {
xhttp = new XMLHttpRequest();
xhttp.open("GET", dname, false);
xhttp.send("");
if (type === "text") {
return xhttp.responseText;
} else {
return xhttp.responseXML;
}
}
function hideAll() {
var reportElement = document.getElementById("report");
for (var i = 0; i < reportElement.childNodes.length; i++) {
if (reportElement.childNodes[i].id !== undefined) {
$('#' + reportElement.childNodes[i].id).hide();
}
}
}
function createTestListTable(section) {
$("body").addClass("busy");
setTimeout(function() {
$('#backBrowserReportDiv').show();
$('#backBrowserReportDiv').attr('href', 'javascript:createDetailsTable(' + section.split(".")[0] + ');');
$('#SummaryTable').hide();
hideAll();
var normSection = section.replace(/\./g, "_");
if ($('#TestList_' + normSection).length > 0) {
$('#TestList_' + normSection).show();
} else {
if (window.ActiveXObject) {
var xslParam = xslTestList.selectSingleNode("//xsl:param[@name='sectionID']");
xslParam.setAttribute("select", "'" + section + "'");
var ex = bigFile.transformNode(xslTestList);
document.getElementById("report").innerHTML += ex;
} else {
xslTestList.getElementsByName("sectionID")[0].attributes["select"].value = "'" + section + "'";
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslTestList);
resultDocument = xsltProcessor.transformToFragment(bigFile, bigFile);
document.getElementById("report").appendChild(resultDocument);
}
}
$("body").removeClass("busy");
}, 500);
}
function createDetailsTable(section) {
$("body").addClass("busy");
setTimeout(function() {
$('#backBrowserReportDiv').show();
$('#backBrowserReportDiv').attr('href', 'javascript:buildTable();');
hideAll();
if ($('#section-' + section).length > 0) {
$('#section-' + section).show();
} else {
if (window.ActiveXObject) {
var xslParam = xslReportDetails.selectSingleNode("//xsl:param[@name='sectionID']");
xslParam.setAttribute("select", "'" + section + "'");
var ex = bigFile.transformNode(xslReportDetails);
document.getElementById("report").innerHTML += ex;
} else {
xslReportDetails.getElementsByName("sectionID")[0].attributes["select"].value = "'" + section + "'";
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslReportDetails);
resultDocument = xsltProcessor.transformToFragment(bigFile, bigFile);
document.getElementById("report").appendChild(resultDocument);
}
}
$("body").removeClass("busy");
}, 500);
}
function buildTable() {
// Populate fileList array
loadTestResultList();
$('#backBrowserReportDiv').hide();
hideAll();
if ($('#SummaryTable').length > 0)
$('#SummaryTable').show();
if (bigFile === null) {
var reportElement = document.getElementById("report");
bigFile = createTestReportFile(fileList);
if (window.ActiveXObject) {
testReportSummaryTable = bigFile.transformNode(xslReportSummary);
reportElement.innerHTML += testReportSummaryTable;
} else {
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslReportSummary);
testReportSummaryTable = xsltProcessor.transformToFragment(bigFile, bigFile);
reportElement.appendChild(testReportSummaryTable);
}
} else {
$('#SummaryTable').show();
}
$('body').removeClass('busy');
}

View File

@ -444,13 +444,6 @@ $(function () {
if ($(target).hasClass('content-results')) {
presenter.refresh();
}
//If clicked tab is Browsers Report, it shows the reports
if (target === '.content-browsers') {
$("body").addClass("busy");
setTimeout(function () {
buildTable();
}, 500);
}
});
});