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
|
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: 400
property int initialSelection
property int finalSelection
property bool useAcceptDirectly
property bool selectorLoaded
experimental.itemSelector: Item {
Component.onCompleted: {
if (WebView.view.initialSelection != -1)
model.items.select(WebView.view.initialSelection)
if (WebView.view.finalSelection == -1)
model.reject()
else {
if (useAcceptDirectly) {
model.accept(WebView.view.finalSelection)
} else {
model.items.select(WebView.view.finalSelection)
model.accept()
}
}
WebView.view.selectorLoaded = true
}
}
SignalSpy {
id: titleSpy
target: webView
signalName: "titleChanged"
}
TestCase {
id: test
name: "WebViewItemSelector"
when: windowShown
function init() {
webView.initialSelection = -1
webView.finalSelection = -1
webView.useAcceptDirectly = false
webView.selectorLoaded = false
webView.url = Qt.resolvedUrl("../common/select.html")
verify(webView.waitForLoadSucceeded())
titleSpy.clear()
}
function openItemSelector() {
webView.experimental.test.touchTap(webView, 15, 15)
}
function test_accept() {
webView.finalSelection = 1
openItemSelector()
titleSpy.wait()
compare(webView.title, "__closed__")
}
function test_acceptDirectly() {
webView.finalSelection = 1
webView.useAcceptDirectly = true
openItemSelector()
titleSpy.wait()
compare(webView.title, "__closed__")
}
function test_selectFirstThenAccept() {
webView.initialSelection = 1
webView.finalSelection = 2
openItemSelector()
titleSpy.wait()
compare(webView.title, "__all__")
}
function test_selectFirstThenAcceptDirectly() {
webView.initialSelection = 1
webView.finalSelection = 2
webView.useAcceptDirectly = true
openItemSelector()
titleSpy.wait()
compare(webView.title, "__all__")
}
function test_reject() {
openItemSelector()
tryCompare(webView, "selectorLoaded", true)
compare(webView.title, "No new selection was made")
}
function test_selectFirstThenReject() {
webView.initialSelection = 1
webView.finalSelection = -1
openItemSelector()
tryCompare(webView, "selectorLoaded", true)
compare(webView.title, "No new selection was made")
}
function test_selectWithSize() {
webView.url = Qt.resolvedUrl("../common/selectwithsize.html")
verify(webView.waitForLoadSucceeded())
titleSpy.clear()
test_selectFirstThenAcceptDirectly()
}
}
}
|