blob: d27c473a61c5a817f776640f619058907cad420e [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<body>
<p>This test checks various characters that should always be zero width to ensure that they are.
The WebKit text system ensures this in a way that's independent of the fonts installed on the system.</p>
<p id="testArea"><span id="characters">ab</span></p>
<script>
run();
function run() {
var span = document.getElementById("characters");
var abWidth = span.offsetWidth;
test(() => {
span.firstChild.data = "a";
var aWidth = span.offsetWidth;
assert_greater_than(abWidth, aWidth, "Check width measurement");
}, "Check width measurement");
const testCharacters = [
0x200B,
0x200C,
0x200D,
0x200E,
0x200F,
0xFEFF
];
for (let testCharacter of testCharacters) {
test(() => {
span.firstChild.data = "a" + String.fromCharCode(testCharacter) + "b";
var abWithCharactersWidth = span.offsetWidth;
assert_equals(abWithCharactersWidth, abWidth);
}, `U+${testCharacter.toString(16).toUpperCase()} should be zero-width`);
}
}
</script>
</body>