Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <meta charset="utf-8"> | 1 <meta charset="utf-8"> |
| 2 <div id="container"></div> | 2 <div id="container"></div> |
| 3 <pre id="console" style="visibility: hidden;"></pre> | 3 <pre id="console" style="visibility: hidden;"></pre> |
| 4 <script> | 4 <script> |
| 5 function log(message) | 5 function log(message) |
| 6 { | 6 { |
| 7 document.getElementById("console").appendChild(document.createTextNode(m essage + "\n")); | 7 document.getElementById("console").appendChild(document.createTextNode(m essage + "\n")); |
| 8 } | 8 } |
| 9 | 9 |
| 10 function testFindString(text, target, options, expectedRanges) | 10 function testFindString(text, target, options, expectedRanges) |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 38 testRunner.dumpAsText(); | 38 testRunner.dumpAsText(); |
| 39 | 39 |
| 40 testFindString("Lorem ipsum dolor sit amet", "o", [], [[1, 2], [13, 14], [15 , 16], []]); | 40 testFindString("Lorem ipsum dolor sit amet", "o", [], [[1, 2], [13, 14], [15 , 16], []]); |
| 41 testFindString("Lorem ipsum dolor sit amet", "o", ["WrapAround"], [[1, 2], [ 13, 14], [15, 16], [1, 2]]); | 41 testFindString("Lorem ipsum dolor sit amet", "o", ["WrapAround"], [[1, 2], [ 13, 14], [15, 16], [1, 2]]); |
| 42 testFindString("Lorem ipsum dolor sit amet", "o", ["Backwards"], [[15, 16], [13, 14], [1, 2], []]); | 42 testFindString("Lorem ipsum dolor sit amet", "o", ["Backwards"], [[15, 16], [13, 14], [1, 2], []]); |
| 43 testFindString("Lorem ipsum dolor sit amet", "o", ["Backwards", "WrapAround" ], [[15, 16], [13, 14], [1, 2], [15, 16]]); | 43 testFindString("Lorem ipsum dolor sit amet", "o", ["Backwards", "WrapAround" ], [[15, 16], [13, 14], [1, 2], [15, 16]]); |
| 44 testFindString("Lorem ipsum dolor sit amet", "O", [], [[]]); | 44 testFindString("Lorem ipsum dolor sit amet", "O", [], [[]]); |
| 45 testFindString("Lorem ipsum dolor sit amet", "O", ["CaseInsensitive"], [[1, 2], [13, 14], [15, 16]]); | 45 testFindString("Lorem ipsum dolor sit amet", "O", ["CaseInsensitive"], [[1, 2], [13, 14], [15, 16]]); |
| 46 | 46 |
| 47 testFindString("insurmountable mountain", "mount", [], [[5, 10], [15, 20], [ ]]); | 47 testFindString("insurmountable mountain", "mount", [], [[5, 10], [15, 20], [ ]]); |
| 48 testFindString("insurmountable mountain", "mount", ["AtWordStarts"], [[15, 2 0], []]); | 48 testFindString("insurmountable mountain", "mount", ["AtWordStarts"], [[5, 10 ], [15, 20]]); |
|
tkent
2013/10/17 03:42:24
This change is unreasonable.
If we should support
| |
| 49 | 49 |
| 50 testFindString("cocoa", "co", [], [[0, 2], [2, 4], []]); | 50 testFindString("cocoa", "co", [], [[0, 2], [2, 4], []]); |
| 51 testFindString("cocoa", "co", ["AtWordStarts"], [[0, 2], []]); | 51 testFindString("cocoa", "co", ["AtWordStarts"], [[0, 2], [2, 4]]); |
| 52 | 52 |
| 53 testFindString("webkit.org", "org", ["AtWordStarts"], [[]]); | 53 testFindString("webkit.org", "org", ["AtWordStarts"], [[7, 10]]); |
| 54 testFindString("webkit.org", ".org", ["AtWordStarts"], [[6, 10], []]); | 54 testFindString("webkit.org", ".org", ["AtWordStarts"], [[6, 10], []]); |
| 55 | 55 |
| 56 testFindString("webkit.org", "rg", ["AtWordStarts", "TreatMedialCapitalAsWor dStart"], [[]]); | 56 testFindString("webkit.org", "rg", ["AtWordStarts", "TreatMedialCapitalAsWor dStart"], [[8, 10]]); |
| 57 testFindString("webkit.org", "org", ["AtWordStarts", "TreatMedialCapitalAsWo rdStart"], [[7, 10], []]); | 57 testFindString("webkit.org", "org", ["AtWordStarts", "TreatMedialCapitalAsWo rdStart"], [[7, 10], []]); |
| 58 testFindString("webkit.org", ".org", ["AtWordStarts", "TreatMedialCapitalAsW ordStart"], [[6, 10], []]); | 58 testFindString("webkit.org", ".org", ["AtWordStarts", "TreatMedialCapitalAsW ordStart"], [[6, 10], []]); |
| 59 testFindString("webkit.org", "t.org", ["AtWordStarts", "TreatMedialCapitalAs WordStart"], [[]]); | 59 testFindString("webkit.org", "t.org", ["AtWordStarts", "TreatMedialCapitalAs WordStart"], [[5, 10]]); |
| 60 | 60 |
| 61 testFindString("WebKit", "it", ["AtWordStarts", "TreatMedialCapitalAsWordSta rt"], [[]]); | 61 testFindString("WebKit", "it", ["AtWordStarts", "TreatMedialCapitalAsWordSta rt"], [[4, 6]]); |
| 62 testFindString("WebKit", "Kit", ["AtWordStarts", "TreatMedialCapitalAsWordSt art"], [[3, 6], []]); | 62 testFindString("WebKit", "Kit", ["AtWordStarts", "TreatMedialCapitalAsWordSt art"], [[3, 6], []]); |
| 63 testFindString("WebKit", "bKit", ["AtWordStarts", "TreatMedialCapitalAsWordS tart"], [[]]); | 63 testFindString("WebKit", "bKit", ["AtWordStarts", "TreatMedialCapitalAsWordS tart"], [[2, 6]]); |
| 64 | 64 |
| 65 testFindString("XMLHTTPRequest", "equest", ["AtWordStarts", "TreatMedialCapi talAsWordStart"], [[]]); | 65 testFindString("XMLHTTPRequest", "equest", ["AtWordStarts", "TreatMedialCapi talAsWordStart"], [[8, 14]]); |
| 66 testFindString("XMLHTTPRequest", "Request", ["AtWordStarts", "TreatMedialCap italAsWordStart"], [[7, 14], []]); | 66 testFindString("XMLHTTPRequest", "Request", ["AtWordStarts", "TreatMedialCap italAsWordStart"], [[7, 14], []]); |
| 67 testFindString("XMLHTTPRequest", "PRequest", ["AtWordStarts", "TreatMedialCa pitalAsWordStart"], [[]]); | 67 testFindString("XMLHTTPRequest", "PRequest", ["AtWordStarts", "TreatMedialCa pitalAsWordStart"], [[6, 14]]); |
| 68 | 68 |
| 69 testFindString("LP64", "64", ["AtWordStarts"], [[]]); | 69 testFindString("LP64", "64", ["AtWordStarts"], [[2, 4]]); |
| 70 testFindString("LP64", "4", ["AtWordStarts", "TreatMedialCapitalAsWordStart" ], [[]]); | 70 testFindString("LP64", "4", ["AtWordStarts", "TreatMedialCapitalAsWordStart" ], [[3, 4]]); |
| 71 testFindString("LP64", "64", ["AtWordStarts", "TreatMedialCapitalAsWordStart "], [[2, 4], []]); | 71 testFindString("LP64", "64", ["AtWordStarts", "TreatMedialCapitalAsWordStart "], [[2, 4], []]); |
| 72 testFindString("LP64", "P64", ["AtWordStarts", "TreatMedialCapitalAsWordStar t"], [[]]); | 72 testFindString("LP64", "P64", ["AtWordStarts", "TreatMedialCapitalAsWordStar t"], [[1, 4]]); |
| 73 | 73 |
| 74 testFindString("\u8d77\u52d5\u6226\u58eb", "\u52d5\u6226\u58eb", ["AtWordSta rts"], [[1, 4], []]); | 74 testFindString("\u8d77\u52d5\u6226\u58eb", "\u52d5\u6226\u58eb", ["AtWordSta rts"], [[1, 4], []]); |
| 75 testFindString("\u8d77\u52d5\u6226\u58eb", "\u6226\u58eb", ["AtWordStarts"], [[2, 4], []]); | 75 testFindString("\u8d77\u52d5\u6226\u58eb", "\u6226\u58eb", ["AtWordStarts"], [[2, 4], []]); |
| 76 testFindString("\u8d77\u52d5\u6226\u58eb", "\u58eb", ["AtWordStarts"], [[3, 4], []]); | 76 testFindString("\u8d77\u52d5\u6226\u58eb", "\u58eb", ["AtWordStarts"], [[3, 4], []]); |
| 77 | 77 |
| 78 const searchBufferSize = 8192; | 78 const searchBufferSize = 8192; |
| 79 const searchBufferOverlapSize = searchBufferSize / 4; | 79 const searchBufferOverlapSize = searchBufferSize / 4; |
| 80 const searchBufferUnoverlappedSize = searchBufferSize - searchBufferOverlapS ize; | 80 const searchBufferUnoverlappedSize = searchBufferSize - searchBufferOverlapS ize; |
| 81 var bufferSizedString = "X"; | 81 var bufferSizedString = "X"; |
| 82 while (bufferSizedString.length < searchBufferSize) | 82 while (bufferSizedString.length < searchBufferSize) |
| 83 bufferSizedString += bufferSizedString; | 83 bufferSizedString += bufferSizedString; |
| 84 bufferSizedString = bufferSizedString.substring(0, searchBufferSize); | 84 bufferSizedString = bufferSizedString.substring(0, searchBufferSize); |
| 85 | 85 |
| 86 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize - 2) + " ba a" + bufferSizedString, "a", ["AtWordStarts"], [[searchBufferUnoverla ppedSize + 2, searchBufferUnoverlappedSize + 3], []]); | 86 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize - 2) + " ba a" + bufferSizedString, "a", ["AtWordStarts"], [[searchBufferUnoverla ppedSize, searchBufferUnoverlappedSize + 1], [searchBufferUnoverlappedSize +2, s earchBufferUnoverlappedSize + 3]]); |
| 87 | 87 |
| 88 var thaiWords = [ | 88 var thaiWords = [ |
| 89 "\u0e01\u0e23", | 89 "\u0e01\u0e23", |
| 90 "\u0e1b\u0e39\u0e40\u0e25", | 90 "\u0e1b\u0e39\u0e40\u0e25", |
| 91 "\u0e01\u0e0a", | 91 "\u0e01\u0e0a", |
| 92 "\u0e01\u0e0a\u0e01\u0e23", // thaiWords[2] + thaiWords[0] | 92 "\u0e01\u0e0a\u0e01\u0e23", // thaiWords[2] + thaiWords[0] |
| 93 "\u0e01\u0e23\u0e01\u0e0a", // thaiWords[0] + thaiWords[2] | 93 "\u0e01\u0e23\u0e01\u0e0a", // thaiWords[0] + thaiWords[2] |
| 94 "\u0e1a\u0e07\u0e01\u0e0a", // ends with thaiWords[2] | 94 "\u0e1a\u0e07\u0e01\u0e0a", // ends with thaiWords[2] |
| 95 ]; | 95 ]; |
| 96 | 96 |
| 97 testFindString(thaiWords.join(""), thaiWords[0], [], [[0, 2], [10, 12], [12, 14], []]); | 97 testFindString(thaiWords.join(""), thaiWords[0], [], [[0, 2], [10, 12], [12, 14], []]); |
| 98 testFindString(thaiWords.join(""), thaiWords[0], ["AtWordStarts"], [[0, 2], [12, 14], []]); | 98 testFindString(thaiWords.join(""), thaiWords[0], ["AtWordStarts"], [[0, 2], [10, 12], [12, 14]]); |
| 99 | 99 |
| 100 testFindString(thaiWords.join(""), thaiWords[2], [], [[6, 8], [8, 10], [14, 16], [18, 20], []]); | 100 testFindString(thaiWords.join(""), thaiWords[2], [], [[6, 8], [8, 10], [14, 16], [18, 20], []]); |
| 101 testFindString(thaiWords.join(""), thaiWords[2], ["AtWordStarts"], [[6, 8], [8, 10], []]); | 101 testFindString(thaiWords.join(""), thaiWords[2], ["AtWordStarts"], [[6, 8], [8, 10], [14, 16]]); |
| 102 | 102 |
| 103 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize) + thaiWords.join("") + bufferSizedString, thaiWords[0], [], [[searchBufferUnover lappedSize, searchBufferUnoverlappedSize + 2], [searchBufferUnoverlappedSize + 1 0, searchBufferUnoverlappedSize + 12], [searchBufferUnoverlappedSize + 12, searc hBufferUnoverlappedSize + 14], []]); | 103 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize) + thaiWords.join("") + bufferSizedString, thaiWords[0], [], [[searchBufferUnover lappedSize, searchBufferUnoverlappedSize + 2], [searchBufferUnoverlappedSize + 1 0, searchBufferUnoverlappedSize + 12], [searchBufferUnoverlappedSize + 12, searc hBufferUnoverlappedSize + 14], []]); |
| 104 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize) + thaiWords.join("") + bufferSizedString, thaiWords[0], ["AtWordStarts"], [[sear chBufferUnoverlappedSize + 12, searchBufferUnoverlappedSize + 14], []]); | 104 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize) + thaiWords.join("") + bufferSizedString, thaiWords[0], ["AtWordStarts"], [[sear chBufferUnoverlappedSize, searchBufferUnoverlappedSize + 2], [searchBufferUnover lappedSize + 10, searchBufferUnoverlappedSize + 12]]); |
| 105 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize - 1) + " " + thaiWords.join("") + bufferSizedString, thaiWords[0], ["AtWordStarts "], [[searchBufferUnoverlappedSize, searchBufferUnoverlappedSize + 2], [searchBu fferUnoverlappedSize + 12, searchBufferUnoverlappedSize + 14], []]); | 105 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize - 1) + " " + thaiWords.join("") + bufferSizedString, thaiWords[0], ["AtWordStarts "], [[searchBufferUnoverlappedSize, searchBufferUnoverlappedSize + 2], [searchBu fferUnoverlappedSize + 10, searchBufferUnoverlappedSize + 12], [searchBufferUnov erlappedSize + 12, searchBufferUnoverlappedSize + 14]]); |
| 106 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize - 3) + " " + thaiWords[4] + bufferSizedString, thaiWords[2], ["AtWordStarts"], [[ ]]); | 106 testFindString(bufferSizedString.substring(0, searchBufferUnoverlappedSize - 3) + " " + thaiWords[4] + bufferSizedString, thaiWords[2], ["AtWordStarts"], [[ searchBufferUnoverlappedSize, searchBufferUnoverlappedSize + 2]]); |
| 107 | 107 |
| 108 testFindString("Spaces, the final frontier", " ", ["AtWordStarts"], [[7, 8], [11, 12], [17, 18], []]); | 108 testFindString("Spaces, the final frontier", " ", ["AtWordStarts"], [[7, 8], [11, 12], [17, 18], []]); |
| 109 testFindString("Use an @import rule", "@", ["AtWordStarts"], [[7, 8], []]); | 109 testFindString("Use an @import rule", "@", ["AtWordStarts"], [[7, 8], []]); |
| 110 testFindString("If ((x + 5) * 2) = 14, then x = 2", "(x", ["AtWordStarts"], [[4, 6], []]); | 110 testFindString("If ((x + 5) * 2) = 14, then x = 2", "(x", ["AtWordStarts"], [[4, 6], []]); |
| 111 | 111 |
| 112 document.getElementById("console").style.removeProperty("visibility"); | 112 document.getElementById("console").style.removeProperty("visibility"); |
| 113 </script> | 113 </script> |
| OLD | NEW |