Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // svg/dynamic-updates tests set enablePixelTesting=true, as we want to dump tex t + pixel results | 1 // svg/dynamic-updates tests set enablePixelTesting=true, as we want to dump tex t + pixel results |
| 2 if (self.testRunner) { | 2 if (self.testRunner) { |
| 3 if (self.enablePixelTesting) | 3 if (self.enablePixelTesting) |
| 4 testRunner.dumpAsTextWithPixelResults(); | 4 testRunner.dumpAsTextWithPixelResults(); |
| 5 else | 5 else |
| 6 testRunner.dumpAsText(); | 6 testRunner.dumpAsText(); |
| 7 } | 7 } |
| 8 | 8 |
| 9 var description, debug, successfullyParsed, errorMessage; | 9 var description, debug, successfullyParsed; |
| 10 | |
| 11 var expectingError; // set by shouldHaveError() | |
| 12 var expectedErrorMessage; // set by onerror when expectingError is true | |
| 13 var unexpectedErrorMessage; // set by onerror when expectingError is not true | |
| 10 | 14 |
| 11 (function() { | 15 (function() { |
| 12 | 16 |
| 13 function getOrCreate(id, tagName) | 17 function getOrCreate(id, tagName) |
| 14 { | 18 { |
| 15 var element = document.getElementById(id); | 19 var element = document.getElementById(id); |
| 16 if (element) | 20 if (element) |
| 17 return element; | 21 return element; |
| 18 | 22 |
| 19 element = document.createElement(tagName); | 23 element = document.createElement(tagName); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 87 } | 91 } |
| 88 | 92 |
| 89 if (!isWorker()) { | 93 if (!isWorker()) { |
| 90 window.addEventListener('DOMContentLoaded', handleTestFinished, false); | 94 window.addEventListener('DOMContentLoaded', handleTestFinished, false); |
| 91 insertStyleSheet(); | 95 insertStyleSheet(); |
| 92 } | 96 } |
| 93 | 97 |
| 94 if (!self.isOnErrorTest) { | 98 if (!self.isOnErrorTest) { |
| 95 self.onerror = function(message) | 99 self.onerror = function(message) |
| 96 { | 100 { |
| 97 errorMessage = message; | 101 if (self.expectingError) { |
| 102 self.expectedErrorMessage = message; | |
| 103 self.expectingError = false; | |
| 104 return; | |
| 105 } | |
| 106 self.unexpectedErrorMessage = message; | |
| 107 if (self.jsTestIsAsync) { | |
| 108 self.testFailed("Unexpected error: " + message); | |
| 109 setTimeout(finishJSTest, 0); | |
|
ojan
2013/11/11 20:22:29
Why the setTimeout?
pwnall-personal
2013/11/11 22:45:34
As I was debugging failed tests on the last patch,
ojan
2013/11/11 23:30:41
Don't you get the same error message from the test
| |
| 110 } | |
| 98 }; | 111 }; |
| 99 } | 112 } |
| 100 })(); | 113 })(); |
| 101 | 114 |
| 102 function isWorker() | 115 function isWorker() |
| 103 { | 116 { |
| 104 // It's conceivable that someone would stub out 'document' in a worker so | 117 // It's conceivable that someone would stub out 'document' in a worker so |
| 105 // also check for childNodes, an arbitrary DOM-related object that is | 118 // also check for childNodes, an arbitrary DOM-related object that is |
| 106 // meaningless in a WorkerContext. | 119 // meaningless in a WorkerContext. |
| 107 return (typeof document === 'undefined' || typeof document.childNodes === 'u ndefined') && !!self.importScripts; | 120 return (typeof document === 'undefined' || typeof document.childNodes === 'u ndefined') && !!self.importScripts; |
| (...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 547 if (typeof _e == "undefined" || exception == _ev) | 560 if (typeof _e == "undefined" || exception == _ev) |
| 548 testPassed(_a + " threw exception " + exception + "."); | 561 testPassed(_a + " threw exception " + exception + "."); |
| 549 else | 562 else |
| 550 testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an excepti on" : _ev) + ". Threw exception " + exception + "."); | 563 testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an excepti on" : _ev) + ". Threw exception " + exception + "."); |
| 551 } else if (typeof _av == "undefined") | 564 } else if (typeof _av == "undefined") |
| 552 testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception " : _ev) + ". Was undefined."); | 565 testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception " : _ev) + ". Was undefined."); |
| 553 else | 566 else |
| 554 testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception " : _ev) + ". Was " + _av + "."); | 567 testFailed(_a + " should throw " + (typeof _e == "undefined" ? "an exception " : _ev) + ". Was " + _av + "."); |
| 555 } | 568 } |
| 556 | 569 |
| 570 function expectError() | |
| 571 { | |
| 572 if (expectingError) { | |
| 573 testFailed("shouldHaveError() called twice before an error occurred!"); | |
| 574 } | |
| 575 expectingError = true; | |
| 576 } | |
| 577 | |
| 557 function shouldHaveHadError(message) | 578 function shouldHaveHadError(message) |
| 558 { | 579 { |
| 559 if (errorMessage) { | 580 if (expectingError) { |
| 581 testFailed("No error thrown between expectError() and shouldHaveHadError ()"); | |
| 582 return; | |
| 583 } | |
| 584 | |
| 585 if (expectedErrorMessage) { | |
| 560 if (!message) | 586 if (!message) |
| 561 testPassed("Got expected error"); | 587 testPassed("Got expected error"); |
| 562 else if (errorMessage.indexOf(message) !== -1) | 588 else if (expectedErrorMessage.indexOf(message) !== -1) |
| 563 testPassed("Got expected error: '" + message + "'"); | 589 testPassed("Got expected error: '" + message + "'"); |
| 564 else | 590 else |
| 565 testFailed("Unexpexted error '" + message + "'"); | 591 testFailed("Unexpected error '" + message + "'"); |
| 566 } else | 592 expectedErrorMessage = undefined; |
| 567 testFailed("Missing expexted error"); | 593 return; |
| 568 errorMessage = undefined; | 594 } |
| 595 | |
| 596 testFailed("expectError() not called before shouldHaveHadError()"); | |
| 569 } | 597 } |
| 570 | 598 |
| 571 function gc() { | 599 function gc() { |
| 572 if (typeof GCController !== "undefined") | 600 if (typeof GCController !== "undefined") |
| 573 GCController.collect(); | 601 GCController.collect(); |
| 574 else { | 602 else { |
| 575 var gcRec = function (n) { | 603 var gcRec = function (n) { |
| 576 if (n < 1) | 604 if (n < 1) |
| 577 return {}; | 605 return {}; |
| 578 var temp = {i: "ab" + i + (i / 100000)}; | 606 var temp = {i: "ab" + i + (i / 100000)}; |
| 579 temp += "foo"; | 607 temp += "foo"; |
| 580 gcRec(n-1); | 608 gcRec(n-1); |
| 581 }; | 609 }; |
| 582 for (var i = 0; i < 1000; i++) | 610 for (var i = 0; i < 1000; i++) |
| 583 gcRec(10) | 611 gcRec(10) |
| 584 } | 612 } |
| 585 } | 613 } |
| 586 | 614 |
| 587 function minorGC() { | 615 function minorGC() { |
| 588 if (typeof GCController !== "undefined") | 616 if (typeof GCController !== "undefined") |
| 589 GCController.minorCollect(); | 617 GCController.minorCollect(); |
| 590 else | 618 else |
| 591 testFailed("Minor GC is available only when you enable the --expose-gc o ption in V8."); | 619 testFailed("Minor GC is available only when you enable the --expose-gc o ption in V8."); |
| 592 } | 620 } |
| 593 | 621 |
| 594 function isSuccessfullyParsed() | 622 function isSuccessfullyParsed() |
| 595 { | 623 { |
| 596 // FIXME: Remove this and only report unexpected syntax errors. | 624 // FIXME: Remove this and only report unexpected syntax errors. |
| 597 if (!errorMessage) | 625 successfullyParsed = !unexpectedErrorMessage; |
| 598 successfullyParsed = true; | |
| 599 shouldBeTrue("successfullyParsed"); | 626 shouldBeTrue("successfullyParsed"); |
| 600 debug('<br /><span class="pass">TEST COMPLETE</span>'); | 627 debug('<br /><span class="pass">TEST COMPLETE</span>'); |
| 601 } | 628 } |
| 602 | 629 |
| 603 // It's possible for an async test to call finishJSTest() before js-test-post.js | 630 // It's possible for an async test to call finishJSTest() before js-test-post.js |
| 604 // has been parsed. | 631 // has been parsed. |
| 605 function finishJSTest() | 632 function finishJSTest() |
| 606 { | 633 { |
| 607 wasFinishJSTestCalled = true; | 634 wasFinishJSTestCalled = true; |
| 608 if (!self.wasPostTestScriptParsed) | 635 if (!self.wasPostTestScriptParsed) |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 685 testPassed = function(msg) { | 712 testPassed = function(msg) { |
| 686 workerPort.postMessage('PASS:' + msg); | 713 workerPort.postMessage('PASS:' + msg); |
| 687 } | 714 } |
| 688 finishJSTest = function() { | 715 finishJSTest = function() { |
| 689 workerPort.postMessage('DONE:'); | 716 workerPort.postMessage('DONE:'); |
| 690 } | 717 } |
| 691 debug = function(msg) { | 718 debug = function(msg) { |
| 692 workerPort.postMessage(msg); | 719 workerPort.postMessage(msg); |
| 693 } | 720 } |
| 694 } | 721 } |
| OLD | NEW |