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

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

Issue 2579953002: Minor fixes for layout test writing documentation. (Closed)
Patch Set: Created 4 years 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 | « no previous file | 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 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 over other mechanisms for structuring asynchronous code. 263 over other mechanisms for structuring asynchronous code.
264 264
265 *** promo 265 *** promo
266 The recommendation to prefer `const` and `let` over `var` is currently being 266 The recommendation to prefer `const` and `let` over `var` is currently being
267 discussed on 267 discussed on
268 [blink-dev](https://groups.google.com/a/chromium.org/d/topic/blink-dev/XsR6PKRrS 1E/discussion). 268 [blink-dev](https://groups.google.com/a/chromium.org/d/topic/blink-dev/XsR6PKRrS 1E/discussion).
269 *** 269 ***
270 270
271 ### Character Encoding 271 ### Character Encoding
272 272
273 Tests should use the UTF-8 **character encoding**, which should be declared by 273 🚧 Tests should use the UTF-8 **character encoding**, which should be
274 `<meta charset=utf-8>`. This does not apply when specifically testing encodings. 274 declared by `<meta charset=utf-8>`. This does not apply when specifically
275 testing encodings.
275 276
276 The `<meta>` tag must be the first child of the document's `<head>` element. In 277 The `<meta>` tag must be the first child of the document's `<head>` element. In
277 documents that do not have an explicit `<head>`, the `<meta>` tag must follow 278 documents that do not have an explicit `<head>`, the `<meta>` tag must follow
278 the doctype. 279 the doctype.
279 280
280 When HTML pages do not explicitly declare a character encoding, browsers 281 When HTML pages do not explicitly declare a character encoding, browsers
281 determine the encoding using an 282 determine the encoding using an
282 [encoding sniffing algorithm](https://html.spec.whatwg.org/multipage/syntax.html #determining-the-character-encoding) 283 [encoding sniffing algorithm](https://html.spec.whatwg.org/multipage/syntax.html #determining-the-character-encoding)
283 that will surprise most modern Web developers. Highlights include a default 284 that will surprise most modern Web developers. Highlights include a default
284 encoding that depends on the user's locale, and non-standardized 285 encoding that depends on the user's locale, and non-standardized
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 navigate to 647 navigate to
647 `http://127.0.0.1:8000/serviceworker/chromium/service-worker-allowed.html`. Some 648 `http://127.0.0.1:8000/serviceworker/chromium/service-worker-allowed.html`. Some
648 tests will behave differently if you go to 127.0.0.1 instead of localhost, so 649 tests will behave differently if you go to 127.0.0.1 instead of localhost, so
649 use 127.0.0.1. 650 use 127.0.0.1.
650 651
651 To kill the server, run `run-blink-httpd --server stop`, or just use `taskkill` 652 To kill the server, run `run-blink-httpd --server stop`, or just use `taskkill`
652 or the Task Manager on Windows, and `killall` or Activity Monitor on MacOS. 653 or the Task Manager on Windows, and `killall` or Activity Monitor on MacOS.
653 654
654 The test server sets up an alias to the `LayoutTests/resources` directory. In 655 The test server sets up an alias to the `LayoutTests/resources` directory. In
655 HTTP tests, you can access the testing framework at e.g. 656 HTTP tests, you can access the testing framework at e.g.
656 `src="/js-test-resources/testharness.js"`. 657 `src="/resources/testharness.js"`.
657 658
658 TODO: Document [wptserve](http://wptserve.readthedocs.io/) when we are in a 659 TODO: Document [wptserve](http://wptserve.readthedocs.io/) when we are in a
659 position to use it to run layout tests. 660 position to use it to run layout tests.
660 661
661 ## Reference Tests (Reftests) 662 ## Reference Tests (Reftests)
662 663
663 Reference tests, also known as reftests, perform a pixel-by-pixel comparison 664 Reference tests, also known as reftests, perform a pixel-by-pixel comparison
664 between the rendered image of a test page and the rendered image of a reference 665 between the rendered image of a test page and the rendered image of a reference
665 page. Most reference tests pass if the two images match, but there are cases 666 page. Most reference tests pass if the two images match, but there are cases
666 where it is useful to have a test pass when the two images do _not_ match. 667 where it is useful to have a test pass when the two images do _not_ match.
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 * The `http/` directory hosts tests that require an HTTP server (see above). 881 * The `http/` directory hosts tests that require an HTTP server (see above).
881 * The `resources/` subdirectory in every directory contains binary files, such 882 * The `resources/` subdirectory in every directory contains binary files, such
882 as media files, and code that is shared by multiple test files. 883 as media files, and code that is shared by multiple test files.
883 884
884 *** note 885 *** note
885 Some layout tests consist of a minimal HTML page that references a JavaScript 886 Some layout tests consist of a minimal HTML page that references a JavaScript
886 file in `resources/`. Please do not use this pattern for new tests, as it goes 887 file in `resources/`. Please do not use this pattern for new tests, as it goes
887 against the minimality principle. JavaScript and CSS files should only live in 888 against the minimality principle. JavaScript and CSS files should only live in
888 `resources/` if they are shared by at least two test files. 889 `resources/` if they are shared by at least two test files.
889 *** 890 ***
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698