2024-05-21 12:12:54 +01:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<script src="../include.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
function setPropertyAndDumpValue(tagName, property, value) {
|
|
|
|
|
const element = document.createElement(tagName);
|
|
|
|
|
element[property] = value;
|
|
|
|
|
println(`${tagName}.${property} after setting to ${value}: ${element[property]}`);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testIntegerReflectedProperty(tagName, property) {
|
|
|
|
|
setPropertyAndDumpValue(tagName, property, -1);
|
|
|
|
|
setPropertyAndDumpValue(tagName, property, 20);
|
|
|
|
|
setPropertyAndDumpValue(tagName, property, 2147483648);
|
2024-05-22 22:15:47 +01:00
|
|
|
|
|
|
|
|
const element = document.createElement(tagName);
|
|
|
|
|
element.setAttribute(property, "\v50");
|
|
|
|
|
println(`${tagName}.${property} after setting to 50 with a leading vertical tab: ${element[property]}`);
|
2024-05-21 12:12:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
test(() => {
|
|
|
|
|
for (const tagName of ["img", "marquee", "object"]) {
|
|
|
|
|
for (const property of ["hspace", "vspace"]) {
|
|
|
|
|
testIntegerReflectedProperty(tagName, property);
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-05-21 12:22:45 +01:00
|
|
|
|
|
|
|
|
for (const tagName of ["source", "video"]) {
|
|
|
|
|
for (const property of ["width", "height"]) {
|
|
|
|
|
testIntegerReflectedProperty(tagName, property);
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-05-21 12:12:54 +01:00
|
|
|
});
|
|
|
|
|
</script>
|