diff options
author | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2020-04-19 08:19:10 +0000 |
---|---|---|
committer | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2020-04-19 11:09:10 +0000 |
commit | e116a19f0bcec3e290b591352d3785fd68f7377e (patch) | |
tree | 0505467ef2a54035b7cfc0c5d03971fb0c429290 /tests/wpt/web-platform-tests/css/css-text | |
parent | 306e8ac5f9b1f5b30c83f6861cfc3139273274bc (diff) | |
download | servo-e116a19f0bcec3e290b591352d3785fd68f7377e.tar.gz servo-e116a19f0bcec3e290b591352d3785fd68f7377e.zip |
Update web-platform-tests to revision 9d583db6a1a16763322dce912bf057490cd7b0c7
Diffstat (limited to 'tests/wpt/web-platform-tests/css/css-text')
9 files changed, 677 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests/css/css-text/support/60x60-red.png b/tests/wpt/web-platform-tests/css/css-text/support/60x60-red.png Binary files differdeleted file mode 100644 index 823f125b8e4..00000000000 --- a/tests/wpt/web-platform-tests/css/css-text/support/60x60-red.png +++ /dev/null diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-013.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-013.html new file mode 100644 index 00000000000..298cbf7b312 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-013.html @@ -0,0 +1,86 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: min-content sizing and 'white-space: pre-wrap'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#hanging"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre-wrap', white spaces at the end of the line are preserved. In this test, the overflowing end-of-line white spaces following the 'A', the 'GH', the 'MNO' and the 'WXYZ' conditionally 'hang' while they do not affect the intrinsic min-content size." name="assert"> + + <style> + div + { + color: transparent; + /* + so that background-color can + shine through the "A", the "GH", + the "MNO" and the "WXYZ" glyphs + */ + font-family: Ahem; + font-size: 25px; + line-height: 1; + width: 0; + /* + 'width: 0' will trigger + min-content size + for div#min-sized-parent + */ + } + + div#test-overlapped-red + { + background-color: red; + float: left; + white-space: pre-wrap; + width: auto; + } + + div#reference-overlapping-green + { + background-color: green; + position: absolute; + width: auto; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="min-sized-parent"> + + <div id="test-overlapped-red">A 
GH 
MNO 
WXYZ </div> + + </div> + + <!-- + + The sequences of white spaces following + the "A", the "GH", the "MNO" and the + "WXYZ" do not get collapsed. That is by + definition of 'white-space: pre-wrap'. + They 'hang': they behave like 'ink + overflow' while not contributing to + min-content sizing. + + The line feeds (
) wrap + content to the next line box. + + Since div#test-overlapped-red + is floated and since its parent in + the flow is 0-width, then the float + is min-content sized. + Since the widest line box + is created by the 4th line box + (due to "WXYZ" content), then + div#test-overlapped-red + must not be wider than 100px. + + --> + + <div id="reference-overlapping-green">1234<br>5678<br>90AB<br>CDEF</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-014.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-014.html new file mode 100644 index 00000000000..b19c6eb27cf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-014.html @@ -0,0 +1,85 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: min-content sizing and 'white-space: pre-wrap'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#hanging"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre-wrap', white spaces at the end of the line are preserved. In this test, the 4 overflowing white spaces following the 'ABCD', following the 'GHIJ', following the 'MNOP' and following the 'WXYZ' conditionally 'hang' while they do not affect the intrinsic min-content size." name="assert"> + + <style> + div + { + color: transparent; + /* + so that background-color can + shine through the ABCD, GHIJ, + MNOP, WXYZ glyphs + */ + font-family: Ahem; + font-size: 25px; + line-height: 1; + width: 0; + /* + 'width: 0' will trigger + min-content size + for div#min-sized-parent + */ + } + + div.test-overlapped-red + { + background-color: red; + float: left; + white-space: pre-wrap; + width: auto; + } + + div#reference-overlapping-green + { + background-color: green; + position: absolute; + width: auto; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="min-sized-parent"> + + <div class="test-overlapped-red">ABCD </div> + + <div class="test-overlapped-red">GHIJ </div> + + <div class="test-overlapped-red">MNOP </div> + + <div class="test-overlapped-red">WXYZ </div> + + </div> + + <!-- + + The sequences of 4 white spaces following + the "ABCD", following the "GHIJ", following + the "MNOP" and following the "WXYZ" do not + get collapsed due to + 'white-space: pre-wrap': they hang. Such + sequences of 4 hanging-overflowing end-of-line + white spaces are not considered with regards + to the line box content for fit. + + Since the 4 div.test-overlapped-red + are floated and since its parent in + the flow is 0-width, then these 4 floats + are min-content sized. + + --> + + <div id="reference-overlapping-green">1234<br>5678<br>90AB<br>CDEF</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-015.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-015.html new file mode 100644 index 00000000000..d60120cc180 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-015.html @@ -0,0 +1,77 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: min-content sizing and 'white-space: pre'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre', preserved white spaces at the end of the line affect the intrinsic min-content size." name="assert"> + + <style> + div + { + color: transparent; + /* + so that background-color can + shine through the A, G, M, Z glyphs + */ + font-family: Ahem; + font-size: 25px; + line-height: 1; + width: 0; + /* + This will trigger + min-content size + for div#min-sized-parent + */ + } + + div#reference-overlapped-red + { + background-color: red; + position: absolute; + width: auto; + z-index: -1; + } + + div#test-overlapping-green + { + background-color: green; + float: left; + white-space: pre; + width: auto; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="reference-overlapped-red">1234<br>567<br>89<br>0</div> + + <div id="min-sized-parent"> + + <div id="test-overlapping-green">A
G 
 M
 Z </div> + + </div> + + <!-- + + The white spaces preceding or following + the "G", "M" and "Z" do not get + wrapped. That is by definition of + 'white-space: pre'. + + The line feeds (
) wrap + content to the next line box. + + Since div#test-overlapping-green + is floated and since its parent in + the flow is 0-width, then the float + is min-content sized. + + --> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-016.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-016.html new file mode 100644 index 00000000000..b9a552ebff1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-016.html @@ -0,0 +1,85 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: min-content sizing and 'white-space: pre'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre', preserved white spaces at the end of the line affect the intrinsic min-content size. Overflow-wrap makes no difference." name="assert"> + + <style> + div + { + color: transparent; + /* + so that background-color can + shine through the A, G, M, Z glyphs + */ + font-family: Ahem; + font-size: 25px; + line-height: 1; + width: 0; + /* + This will trigger + min-content size + for div#min-sized-parent + */ + } + + div#reference-overlapped-red + { + background-color: red; + position: absolute; + width: auto; + z-index: -1; + } + + div.test-overlapping-green + { + background-color: green; + float: left; + white-space: pre; + width: auto; + } + + div#last + { + overflow-wrap: break-word; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="reference-overlapped-red">1234<br>567<br>89<br>0</div> + + <div id="min-sized-parent"> + + <div class="test-overlapping-green">A </div> + + <div class="test-overlapping-green"> G </div> + + <div class="test-overlapping-green"> M </div> + + <div class="test-overlapping-green" id="last"> Z</div> + + </div> + + <!-- + + The 3 white spaces following or preceding + the "A", "G", "M" and "Z" do not + get wrapped. That is by definition of + 'white-space: pre'. + + Since the div.test-overlapping-green + are floated and since their parent in + the flow is 0-width, then these floats + are min-content sized. + + --> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-017.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-017.html new file mode 100644 index 00000000000..103cb077226 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-017.html @@ -0,0 +1,89 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: max-content sizing and 'white-space: pre-wrap'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="help" href="https://www.w3.org/TR/css-sizing-3/#auto-box-sizes"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre-wrap', preserved white spaces at the beginning and at the end of the line affect the intrinsic max-content size." name="assert"> + + <style> + div#wrapper + { + color: transparent; + /* + so that background colors can + shine through the A, G, M, Z glyphs + */ + font-family: Ahem; + font-size: 25px; + line-height: 1; + width: 7em; + /* + 'width: 7em' gives more inline-size + than needed or required by each + overlapping-test-green <div>s. + If an implementation goes wrong + and makes one of + overlapping-test-green <div>s + wider than 4em, then we will see + red. + */ + } + + div#overlapped-reference-red + { + background-color: red; + height: 4em; + position: absolute; + width: 4em; + z-index: -1; + } + + div.overlapping-test-green + { + background: linear-gradient(to right, green 4em, red 3em); + /* + If one of the overlapping-test-green <div>s become wider + than 4em, then we will see the part beyond 4em of this + linear-gradient background which is red. + https://www.w3.org/TR/css-images-3/#linear-gradients + */ + float: left; + /* + [ + max-content inline size: + The box's "ideal" size in the inline axis. Usually + the narrowest inline size it could take while fitting + around its contents if none of the soft wrap + opportunities within the box were taken. + ] + https://www.w3.org/TR/css-sizing-3/#max-content-inline-size + */ + white-space: pre-wrap; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="wrapper"> + + <div id="overlapped-reference-red"></div> + + <div class="overlapping-test-green">A </div> + + <div class="overlapping-test-green"> G </div> + + <div class="overlapping-test-green"> M </div> + + <div class="overlapping-test-green"> Z</div> + + </div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-018.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-018.html new file mode 100644 index 00000000000..45de8ed01cf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-018.html @@ -0,0 +1,89 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: max-content sizing and 'white-space: pre'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="help" href="https://www.w3.org/TR/css-sizing-3/#auto-box-sizes"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre', preserved white spaces at the beginning and at the end of the line affect the intrinsic max-content size." name="assert"> + + <style> + div#wrapper + { + color: transparent; + /* + so that background colors can + shine through the A, G, M, Z glyphs + */ + font-family: Ahem; + font-size: 25px; + line-height: 1; + width: 7em; + /* + 'width: 7em' gives more inline-size + than needed or required by each + overlapping-test-green <div>s. + If an implementation goes wrong + and makes one of + overlapping-test-green <div>s + wider than 4em, then we will see + red. + */ + } + + div#overlapped-reference-red + { + background-color: red; + height: 4em; + position: absolute; + width: 4em; + z-index: -1; + } + + div.overlapping-test-green + { + background: linear-gradient(to right, green 4em, red 3em); + /* + If one of the overlapping-test-green <div>s become wider + than 4em, then we will see the part beyond 4em of this + linear-gradient background which is red. + https://www.w3.org/TR/css-images-3/#linear-gradients + */ + float: left; + /* + [ + max-content inline size: + The box's "ideal" size in the inline axis. Usually + the narrowest inline size it could take while fitting + around its contents if none of the soft wrap + opportunities within the box were taken. + ] + https://www.w3.org/TR/css-sizing-3/#max-content-inline-size + */ + white-space: pre; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="wrapper"> + + <div id="overlapped-reference-red"></div> + + <div class="overlapping-test-green">A </div> + + <div class="overlapping-test-green"> G </div> + + <div class="overlapping-test-green"> M </div> + + <div class="overlapping-test-green"> Z</div> + + </div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-019.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-019.html new file mode 100644 index 00000000000..4a2d5a3fe32 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-019.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: min-content sizing and 'white-space: pre-line'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre-line', sequence of white spaces are collapsed into 1 white space, the tabs are converted into a single white space and then the white spaces at the end of the line are removed." name="assert"> + + <style> + div + { + color: transparent; + /* + so that background-color can + shine through the A, G, M glyphs + */ + font-family: Ahem; + font-size: 50px; + line-height: 1; + width: 0; + /* + This will trigger + min-content size + for div#min-sized-parent + */ + } + + div#reference-overlapped-red + { + background-color: red; + position: absolute; + width: auto; + z-index: -1; + } + + div#test-overlapping-green + { + background-color: green; + float: left; + white-space: pre-line; /* spaces and tabs collapse */ + width: auto; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="reference-overlapped-red">12<br>3</div> + + <div id="min-sized-parent"> + + <div id="test-overlapping-green">A 	 	 GM 	</div> + + </div> + + <!-- + + The sequence of white spaces + are collapsed. The tabs are + converted into a single + white space character. Then + the spaces at the end-of-line + are removed. That + is by definition of + 'white-space: pre-line'. + + The end result is + [A + GM] + + Since div#test-overlapping-green + is floated and since its parent in + the flow is 0-width, then the float + is min-content sized. + + --> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-020.html b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-020.html new file mode 100644 index 00000000000..0369de29a28 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-020.html @@ -0,0 +1,84 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Text Test: min-content sizing and 'white-space: pre-line'</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-property"> + <link rel="help" href="https://www.w3.org/TR/css-text-3/#white-space-phase-2"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + + <meta content="" name="flags"> + <meta content="When 'white-space' is 'pre-line', sequence of white spaces are collapsed into 1 white space, the tabs are converted into a single white space and then the white spaces at the end of the line are removed." name="assert"> + + <style> + div + { + color: transparent; + /* + so that background-color can + shine through the A, G, M, Z glyphs + */ + font-family: Ahem; + font-size: 50px; + line-height: 1; + width: 0; + /* + This will trigger + min-content size + for div#min-sized-parent + */ + } + + div#reference-overlapped-red + { + background-color: red; + position: absolute; + width: auto; + z-index: -1; + } + + div.test-overlapping-green + { + background-color: green; + float: left; + white-space: pre-line; /* spaces and tabs collapse */ + width: auto; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="reference-overlapped-red">12<br>3</div> + + <div id="min-sized-parent"> + + <div class="test-overlapping-green"> 	 	 AG </div> + + <div class="test-overlapping-green"> MZ 	 	 </div> + + </div> + + <!-- + + The sequence of white spaces + are collapsed. The tabs are + converted into a single + white space character. Then + the spaces at the end-of-line + are removed. That + is by definition of + 'white-space: pre-line'. + + The end result is + [AG + MZ] + + Since div#test-overlapping-green + is floated and since its parent in + the flow is 0-width, then the float + is min-content sized. + + --> |