File: test_bug1654500.html

package info (click to toggle)
firefox 143.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,617,328 kB
  • sloc: cpp: 7,478,492; javascript: 6,417,157; ansic: 3,720,058; python: 1,396,372; xml: 627,523; asm: 438,677; java: 186,156; sh: 63,477; makefile: 19,171; objc: 13,059; perl: 12,983; yacc: 4,583; cs: 3,846; pascal: 3,405; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (36 lines) | stat: -rw-r--r-- 1,459 bytes parent folder | download | duplicates (7)
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
<!doctype html>
<meta charset="utf-8" />
<title>Clear disabled/readonly datetime inputs</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="/tests/SimpleTest/EventUtils.js"></script>
<p>
  Disabled inputs should be able to be cleared just as they can be set with real
  values
</p>
<input type="date" id="date1" value="2020-08-11" disabled />
<input type="date" id="date2" value="2020-08-11" readonly />
<input type="time" id="time1" value="07:01" disabled />
<input type="time" id="time2" value="07:01" readonly />
<script>
  /* global date1, date2, time1, time2 */
  function querySelectorAllShadow(parent, selector) {
    const shadowRoot = SpecialPowers.wrap(parent).openOrClosedShadowRoot;
    return shadowRoot.querySelectorAll(selector);
  }
  date1.value = date2.value = "";
  time1.value = time2.value = "";
  for (const date of [date1, date2]) {
    const fields = [...querySelectorAllShadow(date, ".datetime-edit-field")];
    is(fields.length, 3, "Three numeric fields are expected");
    for (const field of fields) {
      is(field.getAttribute("value"), "", "All fields should be cleared");
    }
  }
  for (const time of [time1, time2]) {
    const fields = [...querySelectorAllShadow(time, ".datetime-edit-field")];
    ok(fields.length >= 2, "At least two numeric fields are expected");
    for (const field of fields) {
      is(field.getAttribute("value"), "", "All fields should be cleared");
    }
  }
</script>