3
import com.canonical.Oxide 1.12
4
import com.canonical.Oxide.Testing 1.0
13
id: editingCapabilitiesSpy
15
signalName: "editingCapabilitiesChanged"
19
name: "WebView_editingCapabilities"
22
function focus_textarea() {
23
var r = webView.getTestApi().getBoundingClientRectForSelector("#textarea");
24
mouseClick(webView, r.x + r.width / 2, r.y + r.height / 2, Qt.LeftButton);
25
compare(webView.getTestApi().evaluateCode(
26
"return document.activeElement.id;", true),
30
function unfocus_textarea() {
31
var r = webView.getTestApi().getBoundingClientRectForSelector("#p");
32
mouseClick(webView, r.x + r.width / 2, r.y + r.height / 2, Qt.LeftButton);
33
compare(webView.getTestApi().evaluateCode(
34
"return document.activeElement.id;", true),
39
webView.url = "http://testsuite/tst_WebView_editingCapabilities.html";
40
verify(webView.waitForLoadSucceeded(),
41
"Timed out waiting for successful load");
42
Utils.clearClipboard();
43
editingCapabilitiesSpy.clear();
46
function test_WebView_editingCapabilities_no_selection() {
47
compare(webView.editingCapabilities, WebView.SelectAllCapability);
50
function test_WebView_editingCapabilities_page_selection() {
51
webView.executeEditingCommand(WebView.EditingCommandSelectAll);
52
editingCapabilitiesSpy.wait();
53
compare(webView.editingCapabilities,
54
WebView.CopyCapability | WebView.SelectAllCapability);
56
editingCapabilitiesSpy.clear();
57
webView.executeEditingCommand(WebView.EditingCommandCopy);
58
compare(webView.editingCapabilities,
59
WebView.CopyCapability | WebView.SelectAllCapability);
60
compare(editingCapabilitiesSpy.count, 0);
63
function test_WebView_editingCapabilities_textarea_selection() {
65
editingCapabilitiesSpy.wait();
66
compare(webView.editingCapabilities, WebView.SelectAllCapability);
68
webView.executeEditingCommand(WebView.EditingCommandSelectAll);
69
editingCapabilitiesSpy.wait();
70
compare(webView.editingCapabilities,
71
WebView.CutCapability | WebView.CopyCapability |
72
WebView.EraseCapability | WebView.SelectAllCapability);
74
webView.executeEditingCommand(WebView.EditingCommandCopy);
75
editingCapabilitiesSpy.wait();
76
compare(webView.editingCapabilities,
77
WebView.CutCapability | WebView.CopyCapability |
78
WebView.PasteCapability | WebView.EraseCapability |
79
WebView.SelectAllCapability);
81
webView.executeEditingCommand(WebView.EditingCommandCut);
82
editingCapabilitiesSpy.wait();
83
compare(webView.editingCapabilities,
84
WebView.PasteCapability | WebView.SelectAllCapability);
86
webView.executeEditingCommand(WebView.EditingCommandUndo);
87
// FIXME: https://launchpad.net/bugs/1524288
88
/*editingCapabilitiesSpy.wait();
89
compare(webView.editingCapabilities,
90
WebView.CutCapability | WebView.CopyCapability |
91
WebView.PasteCapability | WebView.EraseCapability |
92
WebView.SelectAllCapability);*/
94
webView.executeEditingCommand(WebView.EditingCommandRedo);
95
// FIXME: https://launchpad.net/bugs/1524288
96
/*editingCapabilitiesSpy.wait();
97
compare(webView.editingCapabilities,
98
WebView.PasteCapability | WebView.SelectAllCapability);*/
100
webView.executeEditingCommand(WebView.EditingCommandPaste);
101
compare(webView.editingCapabilities,
102
WebView.PasteCapability | WebView.SelectAllCapability);
104
webView.executeEditingCommand(WebView.EditingCommandSelectAll);
105
editingCapabilitiesSpy.wait();
106
compare(webView.editingCapabilities,
107
WebView.CutCapability | WebView.CopyCapability |
108
WebView.PasteCapability | WebView.EraseCapability |
109
WebView.SelectAllCapability);
111
webView.executeEditingCommand(WebView.EditingCommandErase);
112
// FIXME: https://launchpad.net/bugs/1524288
113
/*editingCapabilitiesSpy.wait();
114
compare(webView.editingCapabilities,
115
WebView.PasteCapability | WebView.SelectAllCapability);*/
118
function test_WebView_editingCapabilities_clipboard_data_changed() {
120
compare(webView.editingCapabilities, WebView.SelectAllCapability);
122
Utils.copyToClipboard("text/plain", "foo bar baz");
123
editingCapabilitiesSpy.wait();
124
compare(webView.editingCapabilities,
125
WebView.PasteCapability | WebView.SelectAllCapability);
127
Utils.clearClipboard();
128
editingCapabilitiesSpy.wait();
129
compare(webView.editingCapabilities, WebView.SelectAllCapability);