File: test_image_selection_3.html

package info (click to toggle)
firefox 141.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,550,616 kB
  • sloc: cpp: 7,426,508; javascript: 6,367,238; ansic: 3,707,354; python: 1,368,984; xml: 623,983; asm: 426,916; java: 184,324; sh: 64,488; makefile: 19,203; objc: 13,059; perl: 12,955; yacc: 4,583; cs: 3,846; pascal: 3,352; lex: 1,720; ruby: 1,071; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (48 lines) | stat: -rw-r--r-- 1,874 bytes parent folder | download | duplicates (15)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!doctype html>
<title>Test for bug 1754459</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="/tests/SimpleTest/EventUtils.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
<style>
  /* This avoids the draggable image check that our code does to avoid handling the mousedown. */
  img { pointer-events: none }
</style>
<div id="block">
  Some text <img width="100" height="100" id="image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyAQMAAACQ%2B%2Bz9AAAAA1BMVEUA%2FwA0XsCoAAAAD0lEQVQoFWNgGAWjYGgCAAK8AAEb3eOQAAAAAElFTkSuQmCC"> and more.
</div>
<script>
const image = document.getElementById("image");
const block = document.getElementById("block");
const selection = window.getSelection();

function clickOnImage(x, y) {
  synthesizeMouse(image, x, y, {});
}

add_task(async function test_click_pointer_events_none() {
  await SimpleTest.promiseFocus(window);
  clickOnImage(10, 10);
  ok(selection.isCollapsed, "Should be collapsed");
  is(selection.focusNode, block, "Should be at block");
  is(selection.focusOffset, 1, "Should be at start of image");

  clickOnImage(60, 10);
  ok(selection.isCollapsed, "Should be collapsed");
  is(selection.focusNode, block, "Should be at block");
  is(selection.focusOffset, 2, "Should be at end of image");
});

add_task(async function test_click_pointer_events_none_vertical() {
  block.style.writingMode = "vertical-lr";
  block.getBoundingClientRect();
  clickOnImage(10, 10);
  ok(selection.isCollapsed, "Should be collapsed");
  is(selection.focusNode, block, "Should be at start of image");
  is(selection.focusOffset, 1, "Should be at start of image");

  clickOnImage(10, 60);
  ok(selection.isCollapsed, "Should be collapsed");
  is(selection.focusNode, block, "Should be at block");
  is(selection.focusOffset, 2, "Should be at end of image");
});
</script>