| <!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> |