-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
Expand file tree
/
Copy pathenabled_test.html
More file actions
115 lines (104 loc) · 4.22 KB
/
enabled_test.html
File metadata and controls
115 lines (104 loc) · 4.22 KB
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Unit tests for bot.dom.isEnabled</title>
<link rel="stylesheet" href="/filez/_main/third_party/js/qunit/qunit.css">
<script src="/filez/_main/third_party/js/qunit/qunit.js"></script>
<script src="/filez/_main/third_party/js/qunit/qunit_test_runner.js"></script>
<script src="test_bootstrap.js"></script>
<script type="text/javascript">
goog.require('bot.dom');
goog.require('bot.userAgent');
goog.require('goog.dom');
goog.require('goog.userAgent');
goog.require('goog.userAgent.product');
</script>
<script type="text/javascript">
function assertDisabled(assert, id) {
var element = goog.dom.$(id);
assert.ok(element !== null && element !== undefined, 'no such element: ' + id);
assert.notOk(bot.dom.isEnabled(element), id + ' should be disabled');
}
function assertEnabled(assert, id) {
var element = goog.dom.$(id);
assert.ok(element !== null && element !== undefined, 'no such element: ' + id);
assert.ok(bot.dom.isEnabled(element), id + ' should be enabled');
}
QUnit.test('elements that do not support the disabled attribute are always enabled', function(assert) {
assert.ok(bot.dom.isEnabled(document.body), 'Body should be enabled');
assert.ok(bot.dom.isEnabled(document.forms[0]), 'Form should be enabled');
});
QUnit.test('should be enabled if does not have disabled attribute', function(assert) {
assertEnabled(assert, 'enabled-button-a');
});
QUnit.test('should be disabled if it has the disabled attribute', function(assert) {
assertDisabled(assert, 'disabled-button-b');
assertDisabled(assert, 'disabled-button-c');
assertDisabled(assert, 'disabled-button-d');
assertDisabled(assert, 'disabled-button-e');
});
QUnit.test('disabled should be an inherited attribute', function(assert) {
assertEnabled(assert, 'enabled-select');
assertEnabled(assert, 'enabled-option');
assertDisabled(assert, 'disabled-optgroup');
assertDisabled(assert, 'inherits-disabled');
assertDisabled(assert, 'disabled-select');
assertDisabled(assert, 'inherits-disabled-2');
});
QUnit.test('disabled should inherit from fieldset unless in legend', function(assert) {
assertEnabled(assert, 'enabled-legend-button');
if ((goog.userAgent.GECKO && !bot.userAgent.isEngineVersion(2)) ||
(goog.userAgent.WEBKIT && !bot.userAgent.isEngineVersion(535)) ||
(goog.userAgent.product.ANDROID && !bot.userAgent.isProductVersion(5))) {
assertEnabled(assert, 'disabled-legend-button');
assertEnabled(assert, 'disabled-fieldset-button');
} else {
assertDisabled(assert, 'disabled-legend-button');
assertDisabled(assert, 'disabled-fieldset-button');
}
});
QUnit.test('enabled should respond to disabled property', function(assert) {
var element = goog.dom.$('enabled-button-a');
element.disabled = true;
assertDisabled(assert, 'enabled-button-a');
element.disabled = false;
assertEnabled(assert, 'enabled-button-a');
});
</script>
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<form>
<button id="enabled-button-a" value="Enabled A"></button>
<button id="disabled-button-b" value="Enabled B" disabled></button>
<button id="disabled-button-c" value="Enabled C" disabled="disabled">
</button>
<button id="disabled-button-d" value="Enabled D" disabled="true">
</button>
<button id="disabled-button-e" value="Enabled E" disabled="false">
</button>
<select id="enabled-select">
<option id="enabled-option">foo</option>
<optgroup id="disabled-optgroup" disabled>
<option id="inherits-disabled">bar</option>
</optgroup>
</select>
<select id="disabled-select" disabled>
<optgroup>
<option id="inherits-disabled-2">baz</option>
</optgroup>
</select>
<fieldset id="disabled-fieldset" disabled="disabled">
<legend>
<button id="enabled-legend-button">Enabled Legend Button</button>
</legend>
<legend>
<button id="disabled-legend-button">Disabled Legend Button</button>
</legend>
<button id="disabled-fieldset-button">Disabled Fieldset Button</button>
</fieldset>
</form>
</body>
</html>