Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: docs/testing/writing_layout_tests.md

Issue 2695963006: Fix some links in documentation related to layout tests. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « docs/testing/using_breakpad_with_content_shell.md ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Writing Layout Tests 1 # Writing Layout Tests
2 2
3 _Layout tests_ is a bit of a misnomer. This term is 3 _Layout tests_ is a bit of a misnomer. This term is
4 [a part of our WebKit heritage](https://webkit.org/blog/1452/layout-tests-theory /), 4 [a part of our WebKit heritage](https://webkit.org/blog/1452/layout-tests-theory /),
5 and we use it to refer to every test that is written as a Web page (HTML, SVG, 5 and we use it to refer to every test that is written as a Web page (HTML, SVG,
6 or XHTML) and lives in 6 or XHTML) and lives in
7 [third_party/WebKit/LayoutTests/](../../third_party/WebKit/LayoutTests). 7 [third_party/WebKit/LayoutTests/](../../third_party/WebKit/LayoutTests).
8 8
9 [TOC] 9 [TOC]
10 10
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 a last resort. 220 a last resort.
221 221
222 A downside of Blink-specific APIs is that they are not as well documented as the 222 A downside of Blink-specific APIs is that they are not as well documented as the
223 Web Platform features. Learning to use a Blink-specific feature requires finding 223 Web Platform features. Learning to use a Blink-specific feature requires finding
224 other tests that use it, or reading its source code. 224 other tests that use it, or reading its source code.
225 225
226 For example, the most popular Blink-specific API is `testRunner`, which is 226 For example, the most popular Blink-specific API is `testRunner`, which is
227 implemented in 227 implemented in
228 [components/test_runner/test_runner.h](../../components/test_runner/test_runner. h) 228 [components/test_runner/test_runner.h](../../components/test_runner/test_runner. h)
229 and 229 and
230 [components/test_runner/test_runner.cpp](../../components/test_runner/test_runne r.cpp). 230 [components/test_runner/test_runner.cc](../../components/test_runner/test_runner .cc).
231 By skimming the `TestRunnerBindings::Install` method, we learn that the 231 By skimming the `TestRunnerBindings::Install` method, we learn that the
232 testRunner API is presented by the `window.testRunner` and 232 testRunner API is presented by the `window.testRunner` and
233 `window.layoutTestsController` objects, which are synonyms. Reading the 233 `window.layoutTestsController` objects, which are synonyms. Reading the
234 `TestRunnerBindings::GetObjectTemplateBuilder` method tells us what properties 234 `TestRunnerBindings::GetObjectTemplateBuilder` method tells us what properties
235 are available on the `window.testRunner` object. 235 are available on the `window.testRunner` object.
236 236
237 *** aside 237 *** aside
238 `window.testRunner` is the preferred way to access the `testRunner` APIs. 238 `window.testRunner` is the preferred way to access the `testRunner` APIs.
239 `window.layoutTestsController` is still supported because it is used by 239 `window.layoutTestsController` is still supported because it is used by
240 3rd-party tests. 240 3rd-party tests.
241 *** 241 ***
242 242
243 *** note 243 *** note
244 `testRunner` is the most popular testing API because it is also used indirectly 244 `testRunner` is the most popular testing API because it is also used indirectly
245 by tests that stick to Web Platform APIs. The `testharnessreport.js` file in 245 by tests that stick to Web Platform APIs. The `testharnessreport.js` file in
246 `testharness.js` is specifically designated to hold glue code that connects 246 `testharness.js` is specifically designated to hold glue code that connects
247 `testharness.js` to the testing environment. Our implementation is in 247 `testharness.js` to the testing environment. Our implementation is in
248 [third_party/WebKit/LayoutTests/resources/testharnessreport.js](../../third_part y/WebKit/LayoutTests/resources/testharnessreport.js), 248 [third_party/WebKit/LayoutTests/resources/testharnessreport.js](../../third_part y/WebKit/LayoutTests/resources/testharnessreport.js),
249 and uses the `testRunner` API. 249 and uses the `testRunner` API.
250 *** 250 ***
251 251
252 See the [components/test_runner/](../../components/test_runner/) directory and 252 See the [components/test_runner/](../../components/test_runner/) directory and
253 [WebKit's LayoutTests guide](https://trac.webkit.org/wiki/Writing%20Layout%20Tes ts%20for%20DumpRenderTree) 253 [WebKit's LayoutTests guide](https://trac.webkit.org/wiki/Writing%20Layout%20Tes ts%20for%20DumpRenderTree)
254 for other useful APIs. For example, `window.eventSender` 254 for other useful APIs. For example, `window.eventSender`
255 ([components/test_runner/event_sender.h](../../components/test_runner/event_send er.h) 255 ([components/test_runner/event_sender.h](../../components/test_runner/event_send er.h)
256 and 256 and
257 [components/test_runner/event_sender.cpp](../../components/test_runner/event_sen der.cpp)) 257 [components/test_runner/event_sender.cc](../../components/test_runner/event_send er.cc))
258 has methods that simulate events input such as keyboard / mouse input and 258 has methods that simulate events input such as keyboard / mouse input and
259 drag-and-drop. 259 drag-and-drop.
260 260
261 Here is a UML diagram of how the `testRunner` bindings fit into Chromium. 261 Here is a UML diagram of how the `testRunner` bindings fit into Chromium.
262 262
263 [![UML of testRunner bindings configuring platform implementation](https://docs. google.com/drawings/u/1/d/1KNRNjlxK0Q3Tp8rKxuuM5mpWf4OJQZmvm9_kpwu_Wwg/export/sv g?id=1KNRNjlxK0Q3Tp8rKxuuM5mpWf4OJQZmvm9_kpwu_Wwg&pageid=p)](https://docs.google .com/drawings/d/1KNRNjlxK0Q3Tp8rKxuuM5mpWf4OJQZmvm9_kpwu_Wwg/edit) 263 [![UML of testRunner bindings configuring platform implementation](https://docs. google.com/drawings/u/1/d/1KNRNjlxK0Q3Tp8rKxuuM5mpWf4OJQZmvm9_kpwu_Wwg/export/sv g?id=1KNRNjlxK0Q3Tp8rKxuuM5mpWf4OJQZmvm9_kpwu_Wwg&pageid=p)](https://docs.google .com/drawings/d/1KNRNjlxK0Q3Tp8rKxuuM5mpWf4OJQZmvm9_kpwu_Wwg/edit)
264 264
265 ### Text Test Baselines 265 ### Text Test Baselines
266 266
267 By default, all the test cases in a file that uses `testharness.js` are expected 267 By default, all the test cases in a file that uses `testharness.js` are expected
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 * The `http/` directory hosts tests that require an HTTP server (see above). 575 * The `http/` directory hosts tests that require an HTTP server (see above).
576 * The `resources/` subdirectory in every directory contains binary files, such 576 * The `resources/` subdirectory in every directory contains binary files, such
577 as media files, and code that is shared by multiple test files. 577 as media files, and code that is shared by multiple test files.
578 578
579 *** note 579 *** note
580 Some layout tests consist of a minimal HTML page that references a JavaScript 580 Some layout tests consist of a minimal HTML page that references a JavaScript
581 file in `resources/`. Please do not use this pattern for new tests, as it goes 581 file in `resources/`. Please do not use this pattern for new tests, as it goes
582 against the minimality principle. JavaScript and CSS files should only live in 582 against the minimality principle. JavaScript and CSS files should only live in
583 `resources/` if they are shared by at least two test files. 583 `resources/` if they are shared by at least two test files.
584 *** 584 ***
OLDNEW
« no previous file with comments | « docs/testing/using_breakpad_with_content_shell.md ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698