blob: a372347e1fe3c996abeec08845045e0f3256ad86 (
plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>required and basic valueMissing</title>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<input id="input" name="victim" required/>
<textarea id="textarea" name="victim" required></textarea>
<select id="select-no-option" name="victim" required>
</select>
<select id="select-placeholder-selected" name="victim" required>
<option value="" selected />
<option value="X">X</option>
</select>
<select id="select-without-placeholder" name="victim" required>
<option value="X">X</option>
<option value="" selected />
</select>
<select id="select-placeholder-selected-size2" name="victim" size="2" required>
<option value="" selected />
<option value="X">X</option>
</select>
<select id="select-without-placeholder-size2" name="victim" size="2" required>
<option value="X">X</option>
<option value="" selected />
</select>
<select id="select-none-selected-multiple" name="victim" multiple required>
<option value="" />
<option value="X">X</option>
</select>
<select id="select-fake-placeholder-selected-multiple" name="victim" multiple required>
<option value="" selected />
<option value="X">X</option>
</select>
<select id="select-without-fake-placeholder-multiple" name="victim" multiple required>
<option value="X">X</option>
<option value="" selected />
</select>
<select id="select-none-selected-size2-multiple" name="victim" multiple size="2" required>
<option value="" />
<option value="X">X</option>
</select>
<select id="select-fake-placeholder-selected-size2-multiple" name="victim" multiple size="2" required>
<option value="" selected />
<option value="X">X</option>
</select>
<select id="select-without-fake-placeholder-size2-multiple" name="victim" multiple size="2" required>
<option value="X">X</option>
<option value="" selected />
</select>
<select id="select-optgroup" name="victim" required>
<optgroup label="1">
<option value="" selected />
</optgroup>
<option value="X">X</option>
</select>
<select id="select-disabled-option" name="victim" required>
<option value="" disabled selected />
<option value="X">X</option>
</select>
<select id="select-disabled-option-2" name="victim" required>
<option value="" disabled />
<option value="X">X</option>
</select>
<script language="JavaScript" type="text/javascript">
function valueMissingFor(id) {
return document.getElementById(id).validity.valueMissing;
}
description("This test checks validity.valueMissing with blank values, blank options selected, or nothing selected.");
v = document.getElementsByName("victim");
shouldBeTrue('valueMissingFor("input")');
shouldBeTrue('valueMissingFor("textarea")');
shouldBeTrue('valueMissingFor("select-no-option")');
shouldBeTrue('valueMissingFor("select-placeholder-selected")');
shouldBeFalse('valueMissingFor("select-without-placeholder")');
shouldBeFalse('valueMissingFor("select-placeholder-selected-size2")');
shouldBeFalse('valueMissingFor("select-without-placeholder-size2")');
shouldBeTrue('valueMissingFor("select-none-selected-multiple")');
shouldBeFalse('valueMissingFor("select-fake-placeholder-selected-multiple")');
shouldBeFalse('valueMissingFor("select-without-fake-placeholder-multiple")');
shouldBeTrue('valueMissingFor("select-none-selected-size2-multiple")');
shouldBeFalse('valueMissingFor("select-fake-placeholder-selected-size2-multiple")');
shouldBeFalse('valueMissingFor("select-without-fake-placeholder-size2-multiple")');
shouldBeFalse('valueMissingFor("select-optgroup")');
shouldBeTrue('valueMissingFor("select-disabled-option")');
shouldBeFalse('valueMissingFor("select-disabled-option-2")');
shouldBe('document.getElementById("select-disabled-option-2").selectedIndex', '1');
</script>
</body>
</html>
|