File: resize-textarea-rtl-001.tentative.html

package info (click to toggle)
thunderbird 1%3A143.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,703,968 kB
  • sloc: cpp: 7,770,492; javascript: 5,943,842; ansic: 3,918,754; python: 1,418,263; xml: 653,354; asm: 474,045; java: 183,079; sh: 111,238; makefile: 20,410; perl: 14,359; objc: 13,059; yacc: 4,583; pascal: 3,405; lex: 1,720; ruby: 999; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 69; csh: 10
file content (58 lines) | stat: -rw-r--r-- 2,136 bytes parent folder | download | duplicates (5)
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
<!DOCTYPE html>
<html dir="rtl">
<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/41236895">
<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.
-->

<textarea id="text"></textarea>

<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().left + 3; // resizer at lower left
  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 RTL textarea in RTL context");

</script>