86 lines
3.2 KiB
HTML
86 lines
3.2 KiB
HTML
<html>
|
|
<head>
|
|
<script>
|
|
function canFind(target, specimen)
|
|
{
|
|
getSelection().empty();
|
|
document.body.innerHTML = specimen;
|
|
document.execCommand("FindString", false, target);
|
|
var result = getSelection().rangeCount != 0;
|
|
getSelection().empty();
|
|
return result;
|
|
}
|
|
|
|
var apostrophe = "'";
|
|
var hebrewPunctuationGeresh = String.fromCharCode(0x05F3);
|
|
var hebrewPunctuationGershayim = String.fromCharCode(0x05F4);
|
|
var leftDoubleQuotationMark = String.fromCharCode(0x201C);
|
|
var leftLowDoubleQuotationMark = String.fromCharCode(0x201E);
|
|
var leftSingleQuotationMark = String.fromCharCode(0x2018);
|
|
var leftLowSingleQuotationMark = String.fromCharCode(0x201A);
|
|
var quotationMark = '"';
|
|
var rightDoubleQuotationMark = String.fromCharCode(0x201D);
|
|
var rightSingleQuotationMark = String.fromCharCode(0x2019);
|
|
|
|
var success = true;
|
|
|
|
var message = "FAILURE:";
|
|
|
|
function testFindExpectingSuccess(targetName, specimenName)
|
|
{
|
|
var target = eval(targetName);
|
|
var specimen = eval(specimenName);
|
|
if (canFind(target, specimen))
|
|
return;
|
|
success = false;
|
|
message += " Cannot find " + specimenName + " when searching for " + targetName + ".";
|
|
}
|
|
|
|
function testFindExpectingFailure(targetName, specimenName)
|
|
{
|
|
var target = eval(targetName);
|
|
var specimen = eval(specimenName);
|
|
if (!canFind(target, specimen))
|
|
return;
|
|
success = false;
|
|
message += " Found " + specimenName + " when searching for " + targetName + ".";
|
|
}
|
|
|
|
function runTests()
|
|
{
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
var singleQuotes = [ "apostrophe", "hebrewPunctuationGeresh", "leftSingleQuotationMark", "rightSingleQuotationMark", "leftLowSingleQuotationMark"];
|
|
var doubleQuotes = [ "quotationMark", "hebrewPunctuationGershayim", "leftDoubleQuotationMark", "rightDoubleQuotationMark", "leftLowDoubleQuotationMark"];
|
|
|
|
for (var i = 0; i < singleQuotes.length; ++i) {
|
|
for (var j = 0; j < singleQuotes.length; ++j)
|
|
testFindExpectingSuccess(singleQuotes[i], singleQuotes[j]);
|
|
}
|
|
|
|
for (var i = 0; i < doubleQuotes.length; ++i) {
|
|
for (var j = 0; j < doubleQuotes.length; ++j)
|
|
testFindExpectingSuccess(doubleQuotes[i], doubleQuotes[j]);
|
|
}
|
|
|
|
for (var i = 0; i < singleQuotes.length; ++i) {
|
|
for (var j = 0; j < doubleQuotes.length; ++j)
|
|
testFindExpectingFailure(singleQuotes[i], doubleQuotes[j]);
|
|
}
|
|
|
|
for (var i = 0; i < doubleQuotes.length; ++i) {
|
|
for (var j = 0; j < singleQuotes.length; ++j)
|
|
testFindExpectingFailure(doubleQuotes[i], singleQuotes[j]);
|
|
}
|
|
|
|
if (success)
|
|
message = "SUCCESS: Found all the quotes as expected.";
|
|
|
|
document.body.innerHTML = message;
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTests()"></body>
|
|
</html>
|