Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(269)

Unified Diff: ios/testing/data/http_server_files/state_operations.js

Issue 2601193003: Created a test page for window.history.[push/replace]State() tests. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/testing/data/http_server_files/state_operations.js
diff --git a/ios/testing/data/http_server_files/state_operations.js b/ios/testing/data/http_server_files/state_operations.js
new file mode 100644
index 0000000000000000000000000000000000000000..6de71c0342f9501bdeb0cbcdfe655a4d60e6ee22
--- /dev/null
+++ b/ios/testing/data/http_server_files/state_operations.js
@@ -0,0 +1,67 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Populates onload text and clear no-op text.
+window.onload = function() {
+ updateOnLoadText('OnLoadText');
+ updateNoOpText('');
+};
+
+var updateOnLoadText = function(text) {
+ document.getElementById('on-load').innerHTML = text;
+}
+
+var updateNoOpText = function(text) {
+ document.getElementById('no-op').innerHTML = text;
+}
+
+var isOnLoadTextVisible = function() {
Eugene But (OOO till 7-30) 2017/01/20 21:55:04 This name makes me think that result is true if te
kkhorimoto 2017/01/21 01:38:24 Changed to isOnLoadPlaceholderTextVisible.
+ return document.getElementById('on-load').innerHTML == 'OnLoadText';
+}
+
+var isNoOpTextVisible = function() {
Eugene But (OOO till 7-30) 2017/01/20 21:55:04 ditto
kkhorimoto 2017/01/21 01:38:24 Done.
+ return document.getElementById('no-op').innerHTML == 'NoOpText';
+}
+
+// When a button is tapped, a 0,5s timeout begins that will call this function.
+var onNoOpTimeout = function() {
+ document.getElementById('no-op').innerHTML = 'NoOpText';
+}
+
+// Updates |gStateParams| to hold the specified values. These are later used as
+// input parameters to history state changes.
+var gStateParams = {};
+var updateStateParams = function(obj, title, url) {
+ gStateParams.obj = obj;
+ gStateParams.title = title;
+ gStateParams.url = url;
+}
+
+// Returns whether the input parameters are reflected in |gStateParams|.
+var checkStateParams = function(obj, title, url) {
+ return gStateParams.obj == obj &&
+ gStateParams.title == title &&
+ gStateParams.url == url;
+}
+
+// Clears div text so tests can verify that the reported values are the result
+// of the latest executed script.
+var onButtonTapped = function() {
+ updateOnLoadText('');
+ updateNoOpText('');
+ setTimeout(onNoOpTimeout, 500);
+}
+
+var pushStateAction = function() {
+ onButtonTapped();
+ window.history.pushState(gStateParams.obj, gStateParams.title,
+ gStateParams.url);
+}
+
+var replaceStateAction = function() {
+ onButtonTapped();
+ window.history.replaceState(gStateParams.obj, gStateParams.title,
+ gStateParams.url);
+}
+

Powered by Google App Engine
This is Rietveld 408576698