44 lines
1.5 KiB
HTML
44 lines
1.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("Tests find for strings with soft hyphens in them.");
|
|
|
|
function canFind(target, specimen)
|
|
{
|
|
getSelection().empty();
|
|
var textNode = document.createTextNode(specimen);
|
|
document.body.appendChild(textNode);
|
|
document.execCommand("FindString", false, target);
|
|
var result = getSelection().rangeCount != 0;
|
|
getSelection().empty();
|
|
document.body.removeChild(textNode);
|
|
return result;
|
|
}
|
|
|
|
document.getElementById("console").style.display = "none";
|
|
|
|
var hyphen= String.fromCharCode(0x2010);
|
|
var softHyphen = String.fromCharCode(0x00AD);
|
|
|
|
shouldBe('canFind("ab", "a" + softHyphen + "b")', 'true');
|
|
shouldBe('canFind("ab", "a" + softHyphen + softHyphen + "b")', 'true');
|
|
shouldBe('canFind("a\u0300b", "a" + softHyphen + "b")', 'false');
|
|
shouldBe('canFind("ab", "a" + softHyphen + "\u0300b")', 'true');
|
|
shouldBe('canFind("ab", "a\u0300" + softHyphen + "b")', 'true');
|
|
shouldBe('canFind("a" + softHyphen + "b", "a" + softHyphen + "b")', 'true');
|
|
shouldBe('canFind("a" + softHyphen + "b", "ab")', 'true');
|
|
|
|
// Soft hyphen doesn't match hyphen and hyphen-minus.
|
|
shouldBe('canFind("a" + hyphen + "b", "a" + softHyphen + "b")', 'false');
|
|
shouldBe('canFind("a-b", "a" + softHyphen + "b")', 'false');
|
|
|
|
document.getElementById("console").style.removeProperty("display");
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|