File: resize-textarea-relative-to-right-001.tentative.html

package info (click to toggle)
thunderbird 1%3A140.3.1esr-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,608,628 kB
  • sloc: cpp: 7,671,698; javascript: 5,901,131; ansic: 3,898,955; python: 1,413,270; xml: 653,997; asm: 462,284; java: 180,948; sh: 113,489; makefile: 20,460; perl: 14,288; objc: 13,059; yacc: 4,583; pascal: 3,352; lex: 1,720; ruby: 1,222; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 70; csh: 10
file content (59 lines) | stat: -rw-r--r-- 2,157 bytes parent folder | download | duplicates (8)
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
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<title>Test of resizing interaction</title>
<link rel="author" title="L. David Baron" href="https://dbaron.org/">
<link rel="author" title="Google" href="http://www.google.com/">
<link rel="help" href="https://www.w3.org/TR/css-ui-4/#resize">
<link rel="help" href="https://issues.chromium.org/issues/40697767">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>

<!--
  This test uses .tentative. because it depends on unspecified user
  interface characteristics (the position of the resizer UI and how it
  works), although those user interface characteristics are likely common
  across implementations.
-->

<div style="float: right">
  <textarea id="text"></textarea>
</div>

<script>

promise_test(async t => {
  let e = document.getElementById("text");

  let w = e.getBoundingClientRect().width;
  let h = e.getBoundingClientRect().height;

  let startX = e.getBoundingClientRect().left;

  let x = e.getBoundingClientRect().right - 3;
  let y = e.getBoundingClientRect().bottom - 3;
  let move1 = new test_driver.Actions()
    .pointerMove(x, y)
    .pointerDown()
    .pointerMove(x-2, y-3);
  await move1.send();

  assert_equals(e.getBoundingClientRect().width, w - 2, "width after move 1");
  assert_equals(e.getBoundingClientRect().height, h - 3, "height after move 1");
  assert_equals(e.getBoundingClientRect().left, startX + 2, "left after move 1");

  // It's odd that we have to send pointerMove and pointerDown again here.
  let move2 = new test_driver.Actions()
    .pointerMove(x-2, y-3)
    .pointerDown()
    .pointerMove(x-9, y-1)
    .pointerUp();
  await move2.send();

  assert_equals(e.getBoundingClientRect().width, w - 9, "width after move 2");
  assert_equals(e.getBoundingClientRect().height, h - 1, "height after move 2");
  assert_equals(e.getBoundingClientRect().left, startX + 9, "left after move 2");
}, "resizing of textarea whose position is anchored to the right side");

</script>