From e177e1fac7d8635820c0066ce80803e1ee735600 Mon Sep 17 00:00:00 2001 From: "bob%bclary.com" Date: Fri, 30 Sep 2005 02:40:36 +0000 Subject: [PATCH] Add callback to allow browser based tests to report test results to stdout, no bug, not part of the build git-svn-id: svn://10.0.0.236/trunk@181267 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/tests/js-test-driver-end.js | 4 ++++ mozilla/js/tests/userhook-e4x.js | 21 +++++++++++++++++++++ mozilla/js/tests/userhook-js.js | 20 ++++++++++++++++++++ mozilla/js/tests/userhookeach-e4x.js | 13 +++++++++++++ mozilla/js/tests/userhookeach-js.js | 13 +++++++++++++ 5 files changed, 71 insertions(+) diff --git a/mozilla/js/tests/js-test-driver-end.js b/mozilla/js/tests/js-test-driver-end.js index 4cd4863fc32..568830f6700 100644 --- a/mozilla/js/tests/js-test-driver-end.js +++ b/mozilla/js/tests/js-test-driver-end.js @@ -1,5 +1,9 @@ if (window.opener && window.opener.runNextTest) { + if (window.opener.reportCallBack) + { + window.opener.reportCallBack(window.opener.gWindow); + } setTimeout('window.opener.runNextTest()', 250); } else diff --git a/mozilla/js/tests/userhook-e4x.js b/mozilla/js/tests/userhook-e4x.js index 2e46977df83..71f1bd8d809 100755 --- a/mozilla/js/tests/userhook-e4x.js +++ b/mozilla/js/tests/userhook-e4x.js @@ -62,6 +62,27 @@ function userOnAfterPage() win.__Report = win.reportHTML; win.reportHTML = function () { win.__Report(); gPageCompleted = true; }; + + win.reportCallBack = function (testwin) + { + if (testwin.wrappedJSObject) + { + testwin = testwin.wrappedJSObject; + } + var testcases = testwin.testcases; + for (var i = 0; i < testcases.length; i++) + { + var testcase = testcases[i]; + cdump('testname: ' + testcase.name + ' ' + + 'bug: ' + testcase.bugnumber + ' ' + + (testcase.passed ? 'PASSED':'FAILED') + ' ' + + 'description: ' + testcase.description + ' ' + + 'expected: ' + testcase.expect + ' ' + + 'actual: ' + testcase.actual + ' ' + + 'reason: ' + testcase.reason); + } + }; + // only report failures win.document.forms.testCases.failures.checked = true; // these calls are all async diff --git a/mozilla/js/tests/userhook-js.js b/mozilla/js/tests/userhook-js.js index 70e635b8222..ad4ffddbdb3 100755 --- a/mozilla/js/tests/userhook-js.js +++ b/mozilla/js/tests/userhook-js.js @@ -63,6 +63,26 @@ function userOnAfterPage() win.__Report = win.reportHTML; win.reportHTML = function () { win.__Report(); gPageCompleted = true; }; + win.reportCallBack = function (testwin) + { + if (testwin.wrappedJSObject) + { + testwin = testwin.wrappedJSObject; + } + var testcases = testwin.testcases; + for (var i = 0; i < testcases.length; i++) + { + var testcase = testcases[i]; + cdump('testname: ' + testcase.name + ' ' + + 'bug: ' + testcase.bugnumber + ' ' + + (testcase.passed ? 'PASSED':'FAILED') + ' ' + + 'description: ' + testcase.description + ' ' + + 'expected: ' + testcase.expect + ' ' + + 'actual: ' + testcase.actual + ' ' + + 'reason: ' + testcase.reason); + } + }; + // only report failures win.document.forms.testCases.failures.checked = true; // these calls are all async diff --git a/mozilla/js/tests/userhookeach-e4x.js b/mozilla/js/tests/userhookeach-e4x.js index e17a1f30d03..5cd267fde76 100755 --- a/mozilla/js/tests/userhookeach-e4x.js +++ b/mozilla/js/tests/userhookeach-e4x.js @@ -69,6 +69,19 @@ function checkTestCompleted() if (win.gPageCompleted) { gPageCompleted = true; + + var testcases = win.testcases; + for (var i = 0; i < testcases.length; i++) + { + var testcase = testcases[i]; + cdump('testname: ' + testcase.name + ' ' + + 'bug: ' + testcase.bugnumber + ' ' + + (testcase.passed ? 'PASSED':'FAILED') + ' ' + + 'description: ' + testcase.description + ' ' + + 'expected: ' + testcase.expect + ' ' + + 'actual: ' + testcase.actual + ' ' + + 'reason: ' + testcase.reason); + } } else { diff --git a/mozilla/js/tests/userhookeach-js.js b/mozilla/js/tests/userhookeach-js.js index 9ad6eda0223..4ffab491705 100755 --- a/mozilla/js/tests/userhookeach-js.js +++ b/mozilla/js/tests/userhookeach-js.js @@ -68,6 +68,19 @@ function checkTestCompleted() if (win.gPageCompleted) { gPageCompleted = true; + + var testcases = win.testcases; + for (var i = 0; i < testcases.length; i++) + { + var testcase = testcases[i]; + cdump('testname: ' + testcase.name + ' ' + + 'bug: ' + testcase.bugnumber + ' ' + + (testcase.passed ? 'PASSED':'FAILED') + ' ' + + 'description: ' + testcase.description + ' ' + + 'expected: ' + testcase.expect + ' ' + + 'actual: ' + testcase.actual + ' ' + + 'reason: ' + testcase.reason); + } } else {