1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
import QtQuick 2.0
import QtTest 1.0
import QtWebKit 3.0
import QtWebKit.experimental 1.0
import "../common"
TestWebView {
id: webView
width: 400
height: 300
property int matchCount: -1
property bool findFailed: false
function clear() {
textFoundSpy.clear()
findFailed = false
matchCount = -1
}
SignalSpy {
id: textFoundSpy
target: webView.experimental
signalName: "textFound"
}
experimental.onTextFound: {
webView.matchCount = matchCount
findFailed = matchCount == 0
}
TestCase {
name: "WebViewFindText"
function test_findText() {
var findFlags = WebViewExperimental.FindHighlightAllOccurrences |
WebViewExperimental.FindCaseSensitively
webView.clear()
webView.url = Qt.resolvedUrl("../common/test1.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("Hello", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(matchCount, 1)
}
function test_findTextCaseInsensitive() {
var findFlags = 0
webView.clear()
webView.url = Qt.resolvedUrl("../common/test1.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("heLLo", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(matchCount, 1)
}
function test_findTextManyMatches() {
var findFlags = WebViewExperimental.FindHighlightAllOccurrences
webView.clear()
webView.url = Qt.resolvedUrl("../common/test4.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("bla", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(matchCount, 100)
}
function test_findTextBackward() {
var findFlags = WebViewExperimental.FindHighlightAllOccurrences
webView.clear()
webView.url = Qt.resolvedUrl("../common/test4.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(matchCount, 10)
for(var i=0; i < 9; i++) {
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
}
compare(textFoundSpy.count, 10)
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 11)
compare(findFailed, true)
webView.clear()
findFlags |= WebViewExperimental.FindBackward
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
}
function test_findTextFailNoWrap() {
var findFlags = WebViewExperimental.FindHighlightAllOccurrences
webView.clear()
webView.url = Qt.resolvedUrl("../common/test4.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(matchCount, 10)
for(var i=0; i < 9; i++) {
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
}
compare(textFoundSpy.count, 10)
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 11)
compare(findFailed, true)
}
function test_findTextWrap() {
var findFlags = WebViewExperimental.FindHighlightAllOccurrences
findFlags |= WebViewExperimental.FindWrapsAroundDocument
webView.clear()
webView.url = Qt.resolvedUrl("../common/test4.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(matchCount, 10)
for(var i=0; i < 19; i++) {
webView.experimental.findText("bla0", findFlags)
textFoundSpy.wait()
}
compare(textFoundSpy.count, 20)
}
function test_findTextFailCaseSensitive() {
var findFlags = WebViewExperimental.FindCaseSensitively
webView.clear()
webView.url = Qt.resolvedUrl("../common/test1.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("heLLo", findFlags)
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(findFailed, true)
}
function test_findTextNotFound() {
webView.clear()
webView.url = Qt.resolvedUrl("../common/test1.html")
verify(webView.waitForLoadSucceeded())
webView.experimental.findText("string-that-is-not-threre")
textFoundSpy.wait()
compare(textFoundSpy.count, 1)
compare(findFailed, true)
}
}
}
|