mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Implement selectedIndex
IDL attribute on HTMLOptionsCollection
.
This commit is contained in:
parent
a656782075
commit
d4ad51bfde
5 changed files with 65 additions and 24 deletions
|
@ -28,46 +28,76 @@
|
|||
</form>
|
||||
|
||||
<script>
|
||||
function assertSelectedIndex(select, value) {
|
||||
assert_equals(select.selectedIndex, value);
|
||||
assert_equals(select.options.selectedIndex, value);
|
||||
}
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('empty');
|
||||
assert_equals(select.selectedIndex, -1);
|
||||
assertSelectedIndex(select, -1);
|
||||
}, "get empty");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('default');
|
||||
assert_equals(select.selectedIndex, 0);
|
||||
assertSelectedIndex(select, 0);
|
||||
}, "get default");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('disabled');
|
||||
assert_equals(select.selectedIndex, 1);
|
||||
assertSelectedIndex(select, 1);
|
||||
}, "get disabled");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('selected');
|
||||
assert_equals(select.selectedIndex, 1);
|
||||
assertSelectedIndex(select, 1);
|
||||
}, "get unselected");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('empty');
|
||||
select.selectedIndex = 1;
|
||||
assert_equals(select.selectedIndex, -1);
|
||||
}, "set empty");
|
||||
assertSelectedIndex(select, -1);
|
||||
}, "set empty (HTMLSelectElement)");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('empty');
|
||||
select.options.selectedIndex = 1;
|
||||
assertSelectedIndex(select, -1);
|
||||
}, "set empty (HTMLOptionsCollection)");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('default');
|
||||
assert_equals(select.selectedIndex, 0);
|
||||
assertSelectedIndex(select, 0);
|
||||
select.selectedIndex = 2;
|
||||
assert_equals(select.selectedIndex, 2);
|
||||
}, "set");
|
||||
assertSelectedIndex(select, 2);
|
||||
this.add_cleanup(() => select.selectedIndex = 0);
|
||||
}, "set (HTMLSelectElement)");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('default');
|
||||
assertSelectedIndex(select, 0);
|
||||
select.options.selectedIndex = 2;
|
||||
assertSelectedIndex(select, 2);
|
||||
this.add_cleanup(() => select.selectedIndex = 0);
|
||||
}, "set (HTMLOptionsCollection)");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('selected');
|
||||
var form = document.getElementById('form');
|
||||
assert_equals(select.selectedIndex, 1);
|
||||
assertSelectedIndex(select, 1);
|
||||
select.selectedIndex = 0;
|
||||
assert_equals(select.selectedIndex, 0);
|
||||
assertSelectedIndex(select, 0);
|
||||
form.reset();
|
||||
assert_equals(select.selectedIndex, 1);
|
||||
}, "set and reset");
|
||||
assertSelectedIndex(select, 1);
|
||||
}, "set and reset (HTMLSelectElement)");
|
||||
|
||||
test(function () {
|
||||
var select = document.getElementById('selected');
|
||||
var form = document.getElementById('form');
|
||||
assertSelectedIndex(select, 1);
|
||||
select.options.selectedIndex = 0;
|
||||
assertSelectedIndex(select, 0);
|
||||
form.reset();
|
||||
assertSelectedIndex(select, 1);
|
||||
}, "set and reset (HTMLOptionsCollection)");
|
||||
</script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue