Merge lp:~osomon/oxide/fix-save-restore-unit-tests into lp:~oxide-developers/oxide/oxide.trunk

Proposed by Olivier Tilloy
Status: Merged
Merged at revision: 1134
Proposed branch: lp:~osomon/oxide/fix-save-restore-unit-tests
Merge into: lp:~oxide-developers/oxide/oxide.trunk
Diff against target: 356 lines (+170/-163)
1 file modified
qt/tests/qmltests/api/tst_WebView_save_restore_state.qml (+170/-163)
To merge this branch: bzr merge lp:~osomon/oxide/fix-save-restore-unit-tests
Reviewer Review Type Date Requested Status
Chris Coulson Approve
Review via email: mp+262052@code.launchpad.net

Commit message

Fix save/restore unit tests.

To post a comment you must log in.
Revision history for this message
Chris Coulson (chrisccoulson) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'qt/tests/qmltests/api/tst_WebView_save_restore_state.qml'
--- qt/tests/qmltests/api/tst_WebView_save_restore_state.qml 2015-06-12 11:02:11 +0000
+++ qt/tests/qmltests/api/tst_WebView_save_restore_state.qml 2015-06-16 07:17:04 +0000
@@ -3,9 +3,8 @@
3import com.canonical.Oxide 1.43import com.canonical.Oxide 1.4
4import com.canonical.Oxide.Testing 1.04import com.canonical.Oxide.Testing 1.0
55
6TestCase {6Item {
7 name: "WebView_save_restore_state"7 id: root
8 when: windowShown
9 width: 2008 width: 200
10 height: 2009 height: 200
1110
@@ -23,6 +22,10 @@
2322
24 focus: true23 focus: true
25 anchors.fill: parent24 anchors.fill: parent
25
26 function waitForStateUpdate(state) {
27 return waitFor(function() { return (currentState !== state); });
28 }
26 }29 }
27 }30 }
2831
@@ -34,165 +37,169 @@
34 ];37 ];
35 }38 }
3639
37 function init() {40 TestCase {
38 webView = webViewComponent.createObject(this);41 name: "WebView_save_restore_state"
39 }42 when: windowShown
4043
41 function cleanup() {44 function init() {
42 webView.destroy()45 webView = webViewComponent.createObject(root);
43 }46 }
4447
45 function test_WebView_save_and_restore_current_page_data() {48 function cleanup() {
46 return get_restore_types();49 webView.destroy()
47 }50 }
4851
49 function test_WebView_save_and_restore_current_page(data) {52 function test_WebView_save_and_restore_current_page_data() {
50 webView.url = "http://testsuite/tst_WebView_navigation1.html";53 return get_restore_types();
51 verify(webView.waitForLoadSucceeded(),54 }
52 "Timed out waiting for successful load");55
5356 function test_WebView_save_and_restore_current_page(data) {
54 var state = webView.currentState;57 webView.url = "http://testsuite/tst_WebView_navigation1.html";
55 verify(state.length > 0);58 verify(webView.waitForLoadSucceeded(),
5659 "Timed out waiting for successful load");
57 var restored = webViewComponent.createObject(60
58 webView, {"restoreType": data.restoreType, "restoreState": state});61 var state = webView.currentState;
59 verify(restored !== null);62 verify(state.length > 0);
60 tryCompare(restored, "url", webView.url);63
61 verify(restored.waitForLoadSucceeded(),64 var restored = webViewComponent.createObject(
62 "Timed out waiting for successful load");65 root, {"restoreType": data.restoreType, "restoreState": state});
63 restored.destroy();66 verify(restored !== null);
64 }67 tryCompare(restored, "url", webView.url);
6568 verify(restored.waitForLoadSucceeded(),
66 function test_WebView_save_and_restore_navigation_history_data() {69 "Timed out waiting for successful load");
67 return get_restore_types();70 restored.destroy();
68 }71 }
6972
70 function test_WebView_save_and_restore_navigation_history(data) {73 function test_WebView_save_and_restore_navigation_history_data() {
71 webView.url = "http://testsuite/tst_WebView_navigation1.html";74 return get_restore_types();
72 verify(webView.waitForLoadSucceeded(),75 }
73 "Timed out waiting for successful load");76
74 webView.url = "http://testsuite/tst_WebView_navigation2.html";77 function test_WebView_save_and_restore_navigation_history(data) {
75 verify(webView.waitForLoadSucceeded(),78 webView.url = "http://testsuite/tst_WebView_navigation1.html";
76 "Timed out waiting for successful load");79 verify(webView.waitForLoadSucceeded(),
77 webView.url = "http://testsuite/tst_WebView_navigation3.html";80 "Timed out waiting for successful load");
78 verify(webView.waitForLoadSucceeded(),81 webView.url = "http://testsuite/tst_WebView_navigation2.html";
79 "Timed out waiting for successful load");82 verify(webView.waitForLoadSucceeded(),
80 webView.goBack();83 "Timed out waiting for successful load");
81 verify(webView.waitForLoadSucceeded(),84 webView.url = "http://testsuite/tst_WebView_navigation3.html";
82 "Timed out waiting for successful load");85 verify(webView.waitForLoadSucceeded(),
8386 "Timed out waiting for successful load");
84 var state = webView.currentState;87 webView.goBack();
85 verify(state.length > 0);88 verify(webView.waitForLoadSucceeded(),
8689 "Timed out waiting for successful load");
87 var restored = webViewComponent.createObject(90
88 webView, {"restoreType": data.restoreType, "restoreState": state});91 var state = webView.currentState;
89 verify(restored !== null);92 verify(state.length > 0);
90 tryCompare(restored, "url", webView.url);93
91 verify(restored.waitForLoadSucceeded(),94 var restored = webViewComponent.createObject(
92 "Timed out waiting for successful load");95 root, {"restoreType": data.restoreType, "restoreState": state});
93 verify(restored.canGoBack);96 verify(restored !== null);
94 verify(restored.canGoForward);97 tryCompare(restored, "url", webView.url);
95 compare(restored.navigationHistory.currentIndex, 1);98 verify(restored.waitForLoadSucceeded(),
96 restored.destroy();99 "Timed out waiting for successful load");
97 }100 verify(restored.canGoBack);
98101 verify(restored.canGoForward);
99 function test_WebView_save_and_restore_scroll_offset_data() {102 compare(restored.navigationHistory.currentIndex, 1);
100 return get_restore_types();103 restored.destroy();
101 }104 }
102105
103 function test_WebView_save_and_restore_scroll_offset(data) {106 function test_WebView_save_and_restore_scroll_offset_data() {
104 webView.url = "http://testsuite/tst_WebView_flickableLikeAPI.html";107 return get_restore_types();
105 verify(webView.waitForLoadSucceeded(),108 }
106 "Timed out waiting for successful load");109
107 webView.getTestApi().evaluateCode("document.body.scrollLeft = 300");110 function test_WebView_save_and_restore_scroll_offset(data) {
108 webView.getTestApi().evaluateCode("document.body.scrollTop = 700");111 webView.url = "http://testsuite/tst_WebView_flickableLikeAPI.html";
109112 verify(webView.waitForLoadSucceeded(),
110 var state = webView.currentState;113 "Timed out waiting for successful load");
111 verify(state.length > 0);114 webView.getTestApi().evaluateCode("document.body.scrollLeft = 300");
112115 webView.getTestApi().evaluateCode("document.body.scrollTop = 700");
113 var restored = webViewComponent.createObject(116 verify(webView.waitForStateUpdate(webView.currentState));
114 webView, {"restoreType": data.restoreType, "restoreState": state});117
115 verify(restored !== null);118 var state = webView.currentState;
116 tryCompare(restored, "url", webView.url);119 verify(state.length > 0);
117 verify(restored.waitForLoadSucceeded(),120
118 "Timed out waiting for successful load");121 var restored = webViewComponent.createObject(
119 restored.waitFor(function() {122 root, {"restoreType": data.restoreType, "restoreState": state});
120 return parseFloat(restored.getTestApi().evaluateCode(123 verify(restored !== null);
121 "document.body.scrollLeft")) == 300; });124 tryCompare(restored, "url", webView.url);
122 restored.waitFor(function() {125 verify(restored.waitForLoadSucceeded(),
123 return parseFloat(restored.getTestApi().evaluateCode(126 "Timed out waiting for successful load");
124 "document.body.scrollTop")) == 700; });127 verify(restored.waitFor(function() {
125 restored.destroy();128 return parseFloat(restored.getTestApi().evaluateCode(
126 }129 "document.body.scrollLeft")) == 300; }));
127130 verify(restored.waitFor(function() {
128 function test_WebView_save_and_restore_form_data_input_data() {131 return parseFloat(restored.getTestApi().evaluateCode(
129 return get_restore_types();132 "document.body.scrollTop")) == 700; }));
130 }133 restored.destroy();
131134 }
132 function test_WebView_save_and_restore_form_data_input(data) {135
133 webView.url = "http://testsuite/tst_WebView_save_restore_form_data.html";136 function test_WebView_save_and_restore_form_data_input() {
134 verify(webView.waitForLoadSucceeded(),137 webView.url = "http://testsuite/tst_WebView_save_restore_form_data.html";
135 "Timed out waiting for successful load");138 verify(webView.waitForLoadSucceeded(),
136 keyClick("T");139 "Timed out waiting for successful load");
137 keyClick("e");140 keyClick("T");
138 keyClick("$");141 keyClick("e");
139 keyClick("t");142 keyClick("$");
140 webView.waitFor(function() {143 keyClick("t");
141 return webView.getTestApi().evaluateCode(144 webView.waitFor(function() {
142 "document.querySelector('#textInput').value") == "Te$t"; });145 return webView.getTestApi().evaluateCode(
143146 "document.querySelector('#textInput').value") == "Te$t"; });
144 var state = webView.currentState;147 verify(webView.waitForStateUpdate(webView.currentState));
145 verify(state.length > 0);148
146149 var state = webView.currentState;
147 var restored = webViewComponent.createObject(150 verify(state.length > 0);
148 webView, {"restoreType": data.restoreType, "restoreState": state});151
149 verify(restored !== null);152 var restored = webViewComponent.createObject(
150 tryCompare(restored, "url", webView.url);153 root,
151 verify(restored.waitForLoadSucceeded(),154 {"restoreType": WebView.RestoreCurrentSession, "restoreState": state});
152 "Timed out waiting for successful load");155 verify(restored !== null);
153 restored.waitFor(function() {156 tryCompare(restored, "url", webView.url);
154 return restored.getTestApi().evaluateCode(157 verify(restored.waitForLoadSucceeded(),
155 "document.querySelector('#textInput').value") == "Te$t"; });158 "Timed out waiting for successful load");
156 restored.destroy();159 verify(restored.waitFor(function() {
157 }160 return restored.getTestApi().evaluateCode(
158161 "document.querySelector('#textInput').value") == "Te$t"; }));
159 function test_WebView_save_and_restore_error_page_data() {162 restored.destroy();
160 return get_restore_types();163 }
161 }164
162165 function test_WebView_save_and_restore_error_page_data() {
163 // Test that restoring the state of a navigation that had triggered an error166 return get_restore_types();
164 // triggers the error again (see https://launchpad.net/bugs/1423531).167 }
165 function test_WebView_save_and_restore_error_page(data) {168
166 var url = "http://invalid/";169 // Test that restoring the state of a navigation that had triggered an error
167 webView.url = url;170 // triggers the error again (see https://launchpad.net/bugs/1423531).
168 verify(webView.waitForLoadCommitted(),171 function test_WebView_save_and_restore_error_page(data) {
169 "Timed out waiting for error page");172 var url = "http://invalid/";
170173 webView.url = url;
171 var state = webView.currentState;174 verify(webView.waitForLoadCommitted(),
172 verify(state.length > 0);175 "Timed out waiting for error page");
173176
174 var restored = webViewComponent.createObject(177 var state = webView.currentState;
175 webView, {"restoreType": data.restoreType, "restoreState": state});178 verify(state.length > 0);
176 verify(restored !== null);179
177180 var restored = webViewComponent.createObject(
178 var expectedLoadEvents = [181 root, {"restoreType": data.restoreType, "restoreState": state});
179 { type: LoadEvent.TypeStarted, isError: false },182 verify(restored !== null);
180 { type: LoadEvent.TypeFailed, isError: false },183
181 { type: LoadEvent.TypeCommitted, isError: true }184 var expectedLoadEvents = [
182 ];185 { type: LoadEvent.TypeStarted, isError: false },
183 function _loadEvent(event) {186 { type: LoadEvent.TypeFailed, isError: false },
184 var expected = expectedLoadEvents[0];187 { type: LoadEvent.TypeCommitted, isError: true }
185 compare(event.type, expected.type);188 ];
186 compare(event.url, url);189 function _loadEvent(event) {
187 compare(event.isError, expected.isError);190 var expected = expectedLoadEvents[0];
188 expectedLoadEvents.shift();191 compare(event.type, expected.type);
189 }192 compare(event.url, url);
190 restored.loadEvent.connect(_loadEvent);193 compare(event.isError, expected.isError);
191194 expectedLoadEvents.shift();
192 tryCompare(restored, "url", url);195 }
193 restored.waitFor(function() {196 restored.loadEvent.connect(_loadEvent);
194 return (expectedLoadEvents.length === 0);197
195 });198 tryCompare(restored, "url", url);
196 restored.destroy();199 restored.waitFor(function() {
200 return (expectedLoadEvents.length === 0);
201 });
202 restored.destroy();
203 }
197 }204 }
198}205}

Subscribers

People subscribed via source and target branches