69 lines
3.4 KiB
HTML
69 lines
3.4 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<style type="text/css">
|
|
td {
|
|
display: table-cell;
|
|
width: 200px;
|
|
height: 80px;
|
|
border: 1px solid #ccc;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
}
|
|
</style>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<table id="table">
|
|
<tr>
|
|
<td id="elementWithoutStyleAttribute">no HTML style attribute, no get/setAttribute</td>
|
|
<td id="elementWithEmptyStyleAttribute" style="">empty HTML style attribute, no get/setAttribute</td>
|
|
<td id="elementWithStyleAttribute" style="opacity: 1;">non-empty HTML style attribute, no get/setAttribute</td>
|
|
</tr>
|
|
<tr>
|
|
<td id="elementWithoutStyleAttribute2">no HTML style attribute, getAttribute before modifying IDL attribute</td>
|
|
<td id="elementWithoutStyleAttribute3">no HTML style attribute, getAttribute after modifying IDL attribute</td>
|
|
<td id="elementWithoutStyleAttribute4">no HTML style attribute, setAttribute before removeAttribute</td>
|
|
</tr>
|
|
</table>
|
|
<div id="console"></div>
|
|
<script>
|
|
description("[bug 99295] removeAttribute('style') not working in certain circumstances. If this test passes, all backgroundColors are rgba(0, 0, 0, 0), i.e. all styles are removed.");
|
|
|
|
var elementWithoutStyleAttribute = $('elementWithoutStyleAttribute'),
|
|
elementWithEmptyStyleAttribute = $('elementWithEmptyStyleAttribute'),
|
|
elementWithStyleAttribute = $('elementWithStyleAttribute'),
|
|
elementWithoutStyleAttribute2 = $('elementWithoutStyleAttribute2'),
|
|
elementWithoutStyleAttribute3 = $('elementWithoutStyleAttribute3'),
|
|
elementWithoutStyleAttribute4 = $('elementWithoutStyleAttribute4');
|
|
|
|
shouldBe("elementWithoutStyleAttribute.style.backgroundColor = 'red'; elementWithoutStyleAttribute.removeAttribute('style'); getComputedStyle(elementWithoutStyleAttribute).backgroundColor", '"rgba(0, 0, 0, 0)"');
|
|
|
|
elementWithEmptyStyleAttribute.style.backgroundColor = 'red';
|
|
elementWithEmptyStyleAttribute.removeAttribute('style');
|
|
shouldBe("getComputedStyle(elementWithEmptyStyleAttribute).backgroundColor", '"rgba(0, 0, 0, 0)"');
|
|
|
|
elementWithStyleAttribute.style.backgroundColor = 'red';
|
|
elementWithStyleAttribute.removeAttribute('style');
|
|
shouldBe("getComputedStyle(elementWithStyleAttribute).backgroundColor", '"rgba(0, 0, 0, 0)"');
|
|
|
|
shouldBeNull("elementWithoutStyleAttribute2.getAttribute('style')");
|
|
shouldBe("elementWithoutStyleAttribute2.style.backgroundColor = 'red'; elementWithoutStyleAttribute2.removeAttribute('style'); getComputedStyle(elementWithoutStyleAttribute2).backgroundColor", '"rgba(0, 0, 0, 0)"');
|
|
|
|
elementWithoutStyleAttribute3.style.backgroundColor = 'red';
|
|
shouldBe("elementWithoutStyleAttribute3.getAttribute('style')", '"background-color: red;"');
|
|
elementWithoutStyleAttribute3.removeAttribute('style');
|
|
shouldBe("getComputedStyle(elementWithoutStyleAttribute3).backgroundColor", '"rgba(0, 0, 0, 0)"');
|
|
|
|
shouldBe("elementWithoutStyleAttribute4.style.backgroundColor = 'red'; elementWithoutStyleAttribute4.setAttribute('style', ''); elementWithoutStyleAttribute4.removeAttribute('style'); getComputedStyle(elementWithoutStyleAttribute4).backgroundColor", '"rgba(0, 0, 0, 0)"');
|
|
|
|
function $(id) {
|
|
return document.getElementById(id);
|
|
}
|
|
|
|
document.getElementById('table').innerHTML = '';
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|