| 1 | |
| 2 | == Writing JavaScript-based DOM only tests using testharness == |
| 3 | |
| 4 | When writing test cases that only test the DOM it is preferable to use an .html file since it only requires one test file instead of two. |
| 5 | |
| 6 | Two JavaScript frameworks exist in the WebKit repository: |
| 7 | * js-test-pre.js and js-test-post.js (WebKit only) |
| 8 | * [http://trac.webkit.org/browser/trunk/LayoutTests/resources/testharness.js LayoutTests/resources/testharness.js] and [http://trac.webkit.org/browser/trunk/LayoutTests/resources/testharnessreport.js LayoutTests/resources/testharnessreport.js] (Webkit and W3C) |
| 9 | |
| 10 | The two frameworks contain similar (but not necessarily identical) sets of functionalities for making common test assertions, using unique APIs. |
| 11 | |
| 12 | When possible, testharness.js / testharnessreport.js are preferable as this framework is also available in the W3C Test repository, making tests written using this API fully portable to W3C. |
| 13 | |
| 14 | Documentation on how to use testharness.js is provided in the comment section at the beginning of the file itself. testharnessreport.js customizes the output of testharness.js to make it compatible with the WebKit test infrastructure (specifically, the HTML formatting is removed and test results are output as plain text). |