From e0d156d38cf03c0dde55743bef15a350f9be51b4 Mon Sep 17 00:00:00 2001
From: David Fugate <dfugate@microsoft.com>
Date: Wed, 22 Feb 2012 11:53:29 -0800
Subject: [PATCH] Implemented the following work items: -
 https://bugs.ecmascript.org/show_bug.cgi?id=44 -
 https://bugs.ecmascript.org/show_bug.cgi?id=45

---
 test/harness/helper.js                   | 40 ++++++++++++++++++------
 website/harness/helper.js                | 40 ++++++++++++++++++------
 website/json/default.json                |  2 +-
 website/json/testcases_bestPractice.json |  2 +-
 website/json/testcases_ch07.json         |  2 +-
 website/json/testcases_ch08.json         |  2 +-
 website/json/testcases_ch09.json         |  2 +-
 website/json/testcases_ch10.json         |  2 +-
 website/json/testcases_ch11.json         |  2 +-
 website/json/testcases_ch12.json         |  2 +-
 website/json/testcases_ch13.json         |  2 +-
 website/json/testcases_ch14.json         |  2 +-
 website/json/testcases_ch15.json         |  2 +-
 website/json/testcases_intl402.json      |  2 +-
 14 files changed, 74 insertions(+), 30 deletions(-)

diff --git a/test/harness/helper.js b/test/harness/helper.js
index ba150c4327..1d4737657e 100644
--- a/test/harness/helper.js
+++ b/test/harness/helper.js
@@ -18,6 +18,7 @@
 /// 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.
 
+
 /* Handles updating the page with information from the runner. */
 function Presenter() {
     var altStyle = '',
@@ -148,21 +149,23 @@ function Presenter() {
             innerHTML = '';
 
         innerHTML += '<b>Test </b>';
-        innerHTML += '<b>' + test.id + '</b> <br /><br />';
+        innerHTML += '<b>' + test.id + '</b> <br /><br />\n';
 
         if (test.description) {
             innerHTML += '<b>Description</b>';
             innerHTML += '<pre>' +
                 test.description.replace(/</g, '&lt;').replace(/>/g, '&gt;') +
-                ' </pre>';
+                ' </pre>\n';
         }
 
         innerHTML += '<br /><br /><br /><b>Testcase</b>';
-        innerHTML += '<pre>' + test.code + '</pre>';
-
-        innerHTML += '<b>Path</b>';
-        innerHTML += '<pre>' + test.path + ' </pre>&nbsp';
+        innerHTML += '<pre>' + test.code + '</pre>\n';
 
+        innerHTML += '<br /><b>Path</b>';
+        innerHTML += '<pre>' + test.path + '</pre>';
+        innerHTML += '<br /><a href="javascript:void(window.open(\'http://hg.ecmascript.org/tests/test262/file/tip/test/suite'
+        innerHTML += test.path.replace("TestCases", "") + '\'));">' + 'Hg source' + '</a> (might be newer than the testcase source shown above)\n'
+        
         popWnd.document.write(innerHTML);
     }
 
@@ -172,14 +175,33 @@ function Presenter() {
             popWnd = window.open("", "", "scrollbars=1, resizable=1"),
             innerHTML = '';
 
+        var bugDetails = "";
+        bugDetails    += "DESCRIPTION\n*Please insert your description here!*\n\n";
+        bugDetails    += "------------------\n";
+        bugDetails    += "TEST:            " + test.path + "\n";
+        bugDetails    += "SOURCE:          http://hg.ecmascript.org/tests/test262/file/tip/test/suite" + test.path.replace("TestCases", "") + "\n";
+        bugDetails    += "TEST SUITE DATE: " + date + "\n";
+        bugDetails    += "PLATFORM:        " + navigator.userAgent + "\n";
+        bugDetails    += "ERROR:           " + test.error + "\n\n";
+
+        
+        var bugTemplate = 'https://bugs.ecmascript.org/enter_bug.cgi?product=Test262&amp;bug_severity=normal&amp;component=Tests&amp;short_desc=';
+        bugTemplate += encodeURIComponent('Invalid test? ' + test.id) + "&amp;comment=";
+        bugTemplate += encodeURIComponent(bugDetails);
+        
         innerHTML += '<b>Test </b>';
-        innerHTML += '<b>' + test.id + '</b> <br /><br />';
+        innerHTML += '<b>' + test.id + '</b> <br /><br />\n';
 
         innerHTML += '<b>Failure</b>';
-        innerHTML += '<pre>' + test.error + '</pre>';
+        innerHTML += '<pre>' + test.error + '</pre>\n';
         
         innerHTML += '<br /><br /><b>Testcase</b>';
-        innerHTML += '<pre>' + test.code + '</pre>';
+        innerHTML += '<pre>' + test.code + '</pre>\n';
+        
+        innerHTML += '<br /><br /><b>Broken test?</b>';
+        innerHTML += '<p>If you have reason to believe the JavaScript engine being tested<br />\n';
+        innerHTML += 'is actually OK and there\'s instead something wrong with the test<br />\n';
+        innerHTML += 'itself, please <a href="' + bugTemplate + '" onclick="window.moveTo(0,0);window.resizeTo(screen.width, screen.height);">file a bug.</a></p>\n'
         
         popWnd.document.write(innerHTML);
     }
diff --git a/website/harness/helper.js b/website/harness/helper.js
index ba150c4327..1d4737657e 100644
--- a/website/harness/helper.js
+++ b/website/harness/helper.js
@@ -18,6 +18,7 @@
 /// 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.
 
+
 /* Handles updating the page with information from the runner. */
 function Presenter() {
     var altStyle = '',
@@ -148,21 +149,23 @@ function Presenter() {
             innerHTML = '';
 
         innerHTML += '<b>Test </b>';
-        innerHTML += '<b>' + test.id + '</b> <br /><br />';
+        innerHTML += '<b>' + test.id + '</b> <br /><br />\n';
 
         if (test.description) {
             innerHTML += '<b>Description</b>';
             innerHTML += '<pre>' +
                 test.description.replace(/</g, '&lt;').replace(/>/g, '&gt;') +
-                ' </pre>';
+                ' </pre>\n';
         }
 
         innerHTML += '<br /><br /><br /><b>Testcase</b>';
-        innerHTML += '<pre>' + test.code + '</pre>';
-
-        innerHTML += '<b>Path</b>';
-        innerHTML += '<pre>' + test.path + ' </pre>&nbsp';
+        innerHTML += '<pre>' + test.code + '</pre>\n';
 
+        innerHTML += '<br /><b>Path</b>';
+        innerHTML += '<pre>' + test.path + '</pre>';
+        innerHTML += '<br /><a href="javascript:void(window.open(\'http://hg.ecmascript.org/tests/test262/file/tip/test/suite'
+        innerHTML += test.path.replace("TestCases", "") + '\'));">' + 'Hg source' + '</a> (might be newer than the testcase source shown above)\n'
+        
         popWnd.document.write(innerHTML);
     }
 
@@ -172,14 +175,33 @@ function Presenter() {
             popWnd = window.open("", "", "scrollbars=1, resizable=1"),
             innerHTML = '';
 
+        var bugDetails = "";
+        bugDetails    += "DESCRIPTION\n*Please insert your description here!*\n\n";
+        bugDetails    += "------------------\n";
+        bugDetails    += "TEST:            " + test.path + "\n";
+        bugDetails    += "SOURCE:          http://hg.ecmascript.org/tests/test262/file/tip/test/suite" + test.path.replace("TestCases", "") + "\n";
+        bugDetails    += "TEST SUITE DATE: " + date + "\n";
+        bugDetails    += "PLATFORM:        " + navigator.userAgent + "\n";
+        bugDetails    += "ERROR:           " + test.error + "\n\n";
+
+        
+        var bugTemplate = 'https://bugs.ecmascript.org/enter_bug.cgi?product=Test262&amp;bug_severity=normal&amp;component=Tests&amp;short_desc=';
+        bugTemplate += encodeURIComponent('Invalid test? ' + test.id) + "&amp;comment=";
+        bugTemplate += encodeURIComponent(bugDetails);
+        
         innerHTML += '<b>Test </b>';
-        innerHTML += '<b>' + test.id + '</b> <br /><br />';
+        innerHTML += '<b>' + test.id + '</b> <br /><br />\n';
 
         innerHTML += '<b>Failure</b>';
-        innerHTML += '<pre>' + test.error + '</pre>';
+        innerHTML += '<pre>' + test.error + '</pre>\n';
         
         innerHTML += '<br /><br /><b>Testcase</b>';
-        innerHTML += '<pre>' + test.code + '</pre>';
+        innerHTML += '<pre>' + test.code + '</pre>\n';
+        
+        innerHTML += '<br /><br /><b>Broken test?</b>';
+        innerHTML += '<p>If you have reason to believe the JavaScript engine being tested<br />\n';
+        innerHTML += 'is actually OK and there\'s instead something wrong with the test<br />\n';
+        innerHTML += 'itself, please <a href="' + bugTemplate + '" onclick="window.moveTo(0,0);window.resizeTo(screen.width, screen.height);">file a bug.</a></p>\n'
         
         popWnd.document.write(innerHTML);
     }
diff --git a/website/json/default.json b/website/json/default.json
index f6a753404a..999d294a01 100644
--- a/website/json/default.json
+++ b/website/json/default.json
@@ -1 +1 @@
-{"date":"2012-02-08","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-02-22","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/testcases_bestPractice.json b/website/json/testcases_bestPractice.json
index 5cced18066..b954713a55 100644
--- a/website/json/testcases_bestPractice.json
+++ b/website/json/testcases_bestPractice.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":13,"testSuite":["json/bestPractice.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 c4fa56d43c..332b87cfb8 100644
--- a/website/json/testcases_ch07.json
+++ b/website/json/testcases_ch07.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":716,"testSuite":["json/ch07.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 c5cda4ece6..b6baf7bd3b 100644
--- a/website/json/testcases_ch08.json
+++ b/website/json/testcases_ch08.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":124,"testSuite":["json/ch08.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 0b37d75fbc..bd44efc4da 100644
--- a/website/json/testcases_ch09.json
+++ b/website/json/testcases_ch09.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":128,"testSuite":["json/ch09.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 72bb7cddcf..5ec8641047 100644
--- a/website/json/testcases_ch10.json
+++ b/website/json/testcases_ch10.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":184,"testSuite":["json/ch10.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 caab4e97f4..838f7dabe3 100644
--- a/website/json/testcases_ch11.json
+++ b/website/json/testcases_ch11.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":1310,"testSuite":["json/ch11.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 f610111f18..ab9fc68daf 100644
--- a/website/json/testcases_ch12.json
+++ b/website/json/testcases_ch12.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":525,"testSuite":["json/ch12.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 4d22f498d8..6def6ef889 100644
--- a/website/json/testcases_ch13.json
+++ b/website/json/testcases_ch13.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":200,"testSuite":["json/ch13.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 3ad3734e87..57668db16c 100644
--- a/website/json/testcases_ch14.json
+++ b/website/json/testcases_ch14.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":24,"testSuite":["json/ch14.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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 e742c86530..ed08b140b9 100644
--- a/website/json/testcases_ch15.json
+++ b/website/json/testcases_ch15.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":7970,"testSuite":["json/ch15.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","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
index e1ec734cca..b4479fdc16 100644
--- a/website/json/testcases_intl402.json
+++ b/website/json/testcases_intl402.json
@@ -1 +1 @@
-{"date":"2012-02-08","numTests":1,"testSuite":["json/intl402.json"],"version":"ES5.1"}
\ No newline at end of file
+{"date":"2012-02-22","numTests":1,"testSuite":["json/intl402.json"],"version":"ES5.1"}
\ No newline at end of file
-- 
GitLab