Update web-platform-tests to revision d55d764f159f5d8dd3e0b30e9d38f75af4feb438

This commit is contained in:
WPT Sync Bot 2019-12-21 08:23:02 +00:00
parent bb5cd02da3
commit 865f7c03e9
228 changed files with 6505 additions and 2813 deletions

View file

@ -1,8 +0,0 @@
# Generate with `$ dot -Tsvg -oreftest_graph_example.svg _reftest_graph_example.dot`
digraph reftest_graph_example {
"a.html" -> "b.html" [label="=="];
"a.html" -> "c.html" [label="=="];
"b.html" -> "b1.html" [label="=="];
"c.html" -> "c1.html" [label="!="];
}

View file

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: reftest_graph_example Pages: 1 -->
<svg width="174pt" height="216pt"
viewBox="0.00 0.00 174.25 216.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 212)">
<title>reftest_graph_example</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-212 170.2546,-212 170.2546,4 -4,4"/>
<!-- a.html -->
<g id="node1" class="node">
<title>a.html</title>
<ellipse fill="none" stroke="#000000" cx="81.3756" cy="-190" rx="32.4147" ry="18"/>
<text text-anchor="middle" x="81.3756" y="-185.8" font-family="Times,serif" font-size="14.00" fill="#000000">a.html</text>
</g>
<!-- b.html -->
<g id="node2" class="node">
<title>b.html</title>
<ellipse fill="none" stroke="#000000" cx="40.3756" cy="-104" rx="32.9078" ry="18"/>
<text text-anchor="middle" x="40.3756" y="-99.8" font-family="Times,serif" font-size="14.00" fill="#000000">b.html</text>
</g>
<!-- a.html&#45;&gt;b.html -->
<g id="edge1" class="edge">
<title>a.html&#45;&gt;b.html</title>
<path fill="none" stroke="#000000" d="M73.0787,-172.5966C67.3923,-160.6692 59.7365,-144.6106 53.2618,-131.0295"/>
<polygon fill="#000000" stroke="#000000" points="56.2638,-129.1931 48.801,-121.6727 49.9451,-132.2056 56.2638,-129.1931"/>
<text text-anchor="middle" x="71.2711" y="-142.8" font-family="Times,serif" font-size="14.00" fill="#000000">==</text>
</g>
<!-- c.html -->
<g id="node3" class="node">
<title>c.html</title>
<ellipse fill="none" stroke="#000000" cx="127.3756" cy="-104" rx="32.4147" ry="18"/>
<text text-anchor="middle" x="127.3756" y="-99.8" font-family="Times,serif" font-size="14.00" fill="#000000">c.html</text>
</g>
<!-- a.html&#45;&gt;c.html -->
<g id="edge2" class="edge">
<title>a.html&#45;&gt;c.html</title>
<path fill="none" stroke="#000000" d="M90.6844,-172.5966C97.1688,-160.4736 105.9359,-144.0829 113.2742,-130.3635"/>
<polygon fill="#000000" stroke="#000000" points="116.4503,-131.8462 118.0807,-121.3775 110.2778,-128.5446 116.4503,-131.8462"/>
<text text-anchor="middle" x="115.2711" y="-142.8" font-family="Times,serif" font-size="14.00" fill="#000000">==</text>
</g>
<!-- b1.html -->
<g id="node4" class="node">
<title>b1.html</title>
<ellipse fill="none" stroke="#000000" cx="37.3756" cy="-18" rx="37.2516" ry="18"/>
<text text-anchor="middle" x="37.3756" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">b1.html</text>
</g>
<!-- b.html&#45;&gt;b1.html -->
<g id="edge3" class="edge">
<title>b.html&#45;&gt;b1.html</title>
<path fill="none" stroke="#000000" d="M39.7394,-85.7616C39.3416,-74.3597 38.821,-59.4342 38.3696,-46.494"/>
<polygon fill="#000000" stroke="#000000" points="41.8575,-46.084 38.0109,-36.2121 34.8618,-46.3281 41.8575,-46.084"/>
<text text-anchor="middle" x="47.2711" y="-56.8" font-family="Times,serif" font-size="14.00" fill="#000000">==</text>
</g>
<!-- c1.html -->
<g id="node5" class="node">
<title>c1.html</title>
<ellipse fill="none" stroke="#000000" cx="129.3756" cy="-18" rx="36.7585" ry="18"/>
<text text-anchor="middle" x="129.3756" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">c1.html</text>
</g>
<!-- c.html&#45;&gt;c1.html -->
<g id="edge4" class="edge">
<title>c.html&#45;&gt;c1.html</title>
<path fill="none" stroke="#000000" d="M127.7998,-85.7616C128.0649,-74.3597 128.412,-59.4342 128.713,-46.494"/>
<polygon fill="#000000" stroke="#000000" points="132.2185,-46.2908 128.9521,-36.2121 125.2204,-46.128 132.2185,-46.2908"/>
<text text-anchor="middle" x="134.6544" y="-56.8" font-family="Times,serif" font-size="14.00" fill="#000000">!=</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -54,45 +54,20 @@ single test, it is recommended to use the test name with a suffix of
`-ref` as their filename; e.g., `test.html` would have `test-ref.html`
as a reference.
## Complex Pass Conditions
## Multiple References
Sometimes it is desirable for a file to match multiple references or,
in rare cases, to allow it to match more than one possible reference.
Sometimes, a test's pass condition cannot be captured in a single
reference.
References can have links to other references (through the same `link`
element relation), and in this case for the test to pass the test must
render identically (assuming a `match` relation) to the reference, and
the reference must render identically to its reference (again,
assuming a `match` relation). Note that this can continue indefinitely
to require tests to match an arbitrary number of references; also that
`match` is used here purely for explanatory reasons: both `match` and
`mismatch` can be used (and mixed on one sequence of references). This
can be thought of as an AND operator!
If a test has multiple links, then the test passes if:
Similarly, multiple references can be linked from a single file to
implement alternates and allow multiple renderings. In this case, the
file passes if it matches one of the references provided (and that
reference likewise matches any references, etc.). This can be thought
of as an OR operator!
* If there are any match references, at least one must match, and
* If there are any mismatch references, all must mismatch.
These two techniques can be combined to build up arbitrarily complex
pass conditions with boolean logic. For example, consider when:
* `a.html` has `<link rel=match href=b.html>` and `<link rel=match
href=c.html>`,
* `b.html` has `<link rel=match href=b1.html>`, and
* `c.html` has `<link rel=mismatch href=c1.html>`.
Or, graphically:
<img src="../_static/reftest_graph_example.svg"
alt="diagram of the above reftest graph as a directed graph">
In this case, to pass we must either have `a.html`, `b.html` and
`b1.html` all rendering identically, or `a.html` and `c.html`
rendering identically with `c1.html` rendering differently. (These
are, in terms of the graph, all the paths from the source nodes to
leaf nodes.)
If you need multiple matches to succeed, these can be turned into
multiple tests (for example, by just having a reference be a test
itself!). If this seems like an unreasonable restriction, please file
a bug and let us know!
## Controlling When Comparison Occurs