Description* Redesign asyncRequirements/assertAsynchronousRequirement:
* Instead of mucking with the page title etc, asyncRequirements is
defined in terms of registering additional 'tests' that jsunit.js
knows about; this prevents incorrect passing-and-then-failing, and
means that assertAsynchronousRequirement is as fire-and-forget as
its name suggests.
* Instead of just a nominally-a-predicate, there is a second function
parameter for additional asserts to be executed once the predicate
is true.
* Fixed lack of verification of headless JS tests:
* RhinoTestBed now actually tests that the jsunit tests it runs
passed, rather than just that they did not throw an exception that
escaped. (Future work: get rid of the _junit_.fail kludge, which has
been left in for now for better error messages.)
* Corrected implementation of document.title in third party env.js.
* Added missing pass()es in tests that are now detected.
* Added 'all tests passed' marker string to html-emitter-test.html
which does not use jsunit.js.
* Added new browser test driver meta-test.js, which loads known-failing
test suites into iframes to verify they fail in the expected fashion.
* Refinements and refactoring in jsunit.js and browser-test-case.js:
* A test which passes and then fails, or fails or passes and then
passes, is detected and considered failure.
* Fixed undetected failures in es53-test-client-uri-rewriting.js
(miswritten assert, not functionality error) and refactored.
* Fixed duplicate pass in testProtoMention.
* Added 'panic' facility, which guarantees the test page will fail,
where throwing an exception that may be uncaught does not, and used
it for all already caught cases of misuse of the test framework.
* Test cases now individually remember their container elements,
eliminating the need to pass around idClass info. The pass() wrapper
around jsunitPass() is no longer necessary (but has been left for
now).
* Adjusted domado-dom-guest testReadOnly to be compatible (it had
been replacing its testcontainer element with a clone).
* jsunitRegisterIf is now defined inside jsunit.js.
* jsunit.fail() added symmetric with jsunit.pass(), and both now
update testcontainer elements.
* Incidental changes:
* Renamed misnamed test method in CssStylesheetTest.java.
* Renamed misnamed title of css-stylesheet-test.html.
@r5381
Patch Set 1 #
Total comments: 12
Patch Set 2 : Reduce opportunities for undetected failures in JavaScript tests. #
Total comments: 18
Patch Set 3 : Reduce opportunities for undetected failures in JavaScript tests. #Patch Set 4 : Reduce opportunities for undetected failures in JavaScript tests. #MessagesTotal messages: 15
|