Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added 4 active-selection-* tests #24710

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions css/css-pseudo/active-selection-021.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Pseudo-Elements Test: active selection, color and 'text-decoration: underline overline line-through'</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-pseudo-4/#highlight-styling">
<link rel="match" href="reference/active-selection-021-ref.html">

<meta content="" name="flags">

<style>
div
{
color: red;
font-size: 300%;
text-decoration: underline overline line-through;
}

div::selection
{
color: green;
}
</style>

<!--
"
The element's own text decorations (both line decorations
and emphasis marks) are thus drawn in the pseudo-element's
own color when that is not currentColor, regardless of
their original color or fill specifications.
"
coming from
https://www.w3.org/TR/css-pseudo-4/#highlight-painting
-->

<script>
function startTest()
{
var targetRange = document.createRange();
/* We first create an empty range */
targetRange.selectNodeContents(document.getElementById("test"));
/* Then we set the range boundaries to the children of div#test */
window.getSelection().addRange(targetRange);
/* Finally, we now select such range of content */
}
</script>

<body onload="startTest();">

<p>Test passes if each glyph of "Selected Text" is green and <strong>not red</strong> and if the underline, the overline and the line-through are also green and not red.

<div id="test">Selected Text</div>
49 changes: 49 additions & 0 deletions css/css-pseudo/active-selection-024.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Pseudo-Elements Test: active selection and first-letter pseudo-element</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-pseudo-4/#highlight-selectors">
<link rel="match" href="reference/active-selection-024-ref.html">

<meta content="" name="flags">
<meta name="assert" content="In this test, the ::selection pseudo-element must paint over the ::first-letter pseudo-element since the first letter is being selected.">

<style>
div
{
color: black;
font-size: 300%;
}

div::first-letter
{
color: red;
}

div::selection
{
background-color: yellow;
color: green;
}
</style>

<script>
function startTest()
{
var targetRange = document.createRange();
/* We first create an empty range */
targetRange.selectNodeContents(document.getElementById("test"));
/* Then we set the range boundaries to the children of div#test */
window.getSelection().addRange(targetRange);
/* Finally, we now select such range of content */
}
</script>

<body onload="startTest();">

<p>Test passes if background color of "Selected Text" is yellow and if each glyph of "Selected Text" is green.

<div id="test">Selected Text</div>
86 changes: 86 additions & 0 deletions css/css-pseudo/active-selection-031.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Pseudo-Elements Test: active selection and vertical writing-modes</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-pseudo-4/#highlight-styling">
<link rel="match" href="reference/active-selection-031-ref.html">

<meta content="" name="flags">

<style>
div > div
{
color: red;
float: left;
font-size: 48px;
margin-left: 16px;
}

div.vrl
{
writing-mode: vertical-rl;
}

div.vlr
{
writing-mode: vertical-lr;
}

div.mixed
{
text-orientation: mixed;
}

div.sideways
{
text-orientation: sideways;
}

div.upright
{
text-orientation: upright;
}

div::selection
{
background-color: yellow;
color: green;
}
</style>

<script>
function startTest()
{
var targetRange = document.createRange();
/* We first create an empty range */

targetRange.selectNodeContents(document.getElementById("test"));
/* Then we set the range boundaries to the contents of div#test */

window.getSelection().addRange(targetRange);
/* Finally, we now add such range of content into a selection */
}
</script>

<body onload="startTest();">

<p>Test passes if each glyph of the 6 "Selected Text" is green and if there is <strong>no red</strong>.

<div id="test">

<div class="vrl mixed">Selected Text</div>

<div class="vrl sideways">Selected Text</div>

<div class="vrl upright">Selected Text</div>

<div class="vlr mixed">Selected Text</div>

<div class="vlr sideways">Selected Text</div>

<div class="vlr upright">Selected Text</div>

</div>
62 changes: 62 additions & 0 deletions css/css-pseudo/active-selection-045.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Pseudo-Elements Test: active selection and image</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-pseudo-4/#highlight-painting">
<link rel="match" href="../reference/ref-nothing-below.xht">

<meta content="" name="flags">
<meta name="assert" content="This test checks that the associated overlay for image must not cover (or leak) outside the image's content box.">

<style>
/*
Chromium 80+ highlights the
top of line box height minus
content box and the bottom of
line box height minus content
box.
Firefox 72+ consistently highlights
only the image content box itself.
*/

div
{
font-size: 300px;
}

img::selection
{
background-color: red;
}

span#masking
{
background-color: white;
display: inline-block;
height: 100px;
position: relative;
right: 100px;
width: 100px;
}
</style>

<script>
function startTest()
{
var targetRange = document.createRange();
/* We first create an empty range */
targetRange.selectNodeContents(document.getElementById("test"));
/* Then we set the range boundaries to the children of div#test */
window.getSelection().addRange(targetRange);
/* Finally, we now select such range of content */
}
</script>

<body onload="startTest();">

<p>Test passes if there is nothing below.

<div id="test"><img src="support/100x100-red.png" alt="Image download support must be enabled"><span id="masking"></span></div>
20 changes: 20 additions & 0 deletions css/css-pseudo/reference/active-selection-021-ref.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Reftest Reference</title>

<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">

<style>
div
{
color: green;
font-size: 300%;
text-decoration: underline overline line-through;
}
</style>

<p>Test passes if each glyph of "Selected Text" is green and <strong>not red</strong> and if the underline, the overline and the line-through are also green and not red.

<div>Selected Text</div>
21 changes: 21 additions & 0 deletions css/css-pseudo/reference/active-selection-024-ref.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Reftest Reference</title>

<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">

<style>
div
{
background-color: yellow;
color: green;
display: inline;
font-size: 300%;
}
</style>

<p>Test passes if background color of "Selected Text" is yellow and if each glyph of "Selected Text" is green.

<div>Selected Text</div>
57 changes: 57 additions & 0 deletions css/css-pseudo/reference/active-selection-031-ref.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<!DOCTYPE html>

<meta charset="UTF-8">

<title>CSS Reftest Reference</title>

<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">

<style>
div
{
background-color: yellow;
color: green;
float: left;
font-size: 48px;
margin-left: 16px;
}

div.vrl
{
writing-mode: vertical-rl;
}

div.vlr
{
writing-mode: vertical-lr;
}

div.mixed
{
text-orientation: mixed;
}

div.sideways
{
text-orientation: sideways;
}

div.upright
{
text-orientation: upright;
}
</style>

<p>Test passes if each glyph of the 6 "Selected Text" is green and if there is <strong>no red</strong>.

<div class="vrl mixed">Selected Text</div>

<div class="vrl sideways">Selected Text</div>

<div class="vrl upright">Selected Text</div>

<div class="vlr mixed">Selected Text</div>

<div class="vlr sideways">Selected Text</div>

<div class="vlr upright">Selected Text</div>
Binary file added css/css-pseudo/support/100x100-red.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.