summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-12-01 18:23:39 +0000
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-12-01 18:24:34 +0000
commit09f6c50980f12a57ac79a8af8993b196e66d64f5 (patch)
tree90918c48c7b218d4c52f6c08ed0e43e42e230529
parent92caa16cfcd10ecc2024972fbef740fbdbd3254b (diff)
downloadnetsurf-09f6c50980f12a57ac79a8af8993b196e66d64f5.tar.gz
netsurf-09f6c50980f12a57ac79a8af8993b196e66d64f5.tar.bz2
monkey: Support testing page info state
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
-rw-r--r--test/monkey-tests/state-test.yaml69
-rwxr-xr-xtest/monkey_driver.py12
-rw-r--r--test/monkeyfarmer.py4
3 files changed, 85 insertions, 0 deletions
diff --git a/test/monkey-tests/state-test.yaml b/test/monkey-tests/state-test.yaml
new file mode 100644
index 000000000..6f25a78d4
--- /dev/null
+++ b/test/monkey-tests/state-test.yaml
@@ -0,0 +1,69 @@
+title: Page state info test
+group: basic
+steps:
+- action: launch
+ language: en
+- action: window-new
+ tag: win1
+- action: navigate
+ window: win1
+ url: about:config
+- action: block
+ conditions:
+ - window: win1
+ status: complete
+- action: page-info-state
+ window: win1
+ match: INTERNAL
+- action: navigate
+ window: win1
+ url: file:///
+- action: block
+ conditions:
+ - window: win1
+ status: complete
+- action: page-info-state
+ window: win1
+ match: LOCAL
+- action: navigate
+ window: win1
+ url: http://test.netsurf-browser.org/html/trivial-document.html
+- action: block
+ conditions:
+ - window: win1
+ status: complete
+- action: page-info-state
+ window: win1
+ match: INSECURE
+- action: navigate
+ window: win1
+ url: https://test.netsurf-browser.org/html/trivial-document.html
+- action: block
+ conditions:
+ - window: win1
+ status: complete
+- action: page-info-state
+ window: win1
+ match: SECURE
+- action: navigate
+ window: win1
+ url: https://test.netsurf-browser.org/html/trivial-document-with-png.html
+- action: block
+ conditions:
+ - window: win1
+ status: complete
+- action: page-info-state
+ window: win1
+ match: SECURE
+- action: navigate
+ window: win1
+ url: https://test.netsurf-browser.org/html/trivial-document-with-http-png.html
+- action: block
+ conditions:
+ - window: win1
+ status: complete
+- action: page-info-state
+ window: win1
+ match: SECURE_ISSUES
+- action: quit
+
diff --git a/test/monkey_driver.py b/test/monkey_driver.py
index a442f4ecd..2a9234df9 100755
--- a/test/monkey_driver.py
+++ b/test/monkey_driver.py
@@ -588,6 +588,16 @@ def run_test_step_action_js_exec(ctx, step):
win.js_exec(cmd)
+def run_test_step_action_page_info_state(ctx, step):
+ print(get_indent(ctx) + "Action: " + step["action"])
+ assert_browser(ctx)
+ tag = step['window']
+ win = ctx['windows'].get(tag)
+ assert win is not None
+ match = step['match']
+ assert win.page_info_state == match
+
+
def run_test_step_action_quit(ctx, step):
print(get_indent(ctx) + "Action: " + step["action"])
assert_browser(ctx)
@@ -619,6 +629,8 @@ STEP_HANDLERS = {
"clear-log": run_test_step_action_clear_log,
"wait-log": run_test_step_action_wait_log,
"js-exec": run_test_step_action_js_exec,
+ "page-info-state":
+ run_test_step_action_page_info_state,
"quit": run_test_step_action_quit,
}
diff --git a/test/monkeyfarmer.py b/test/monkeyfarmer.py
index dcc32175f..cbdda0c07 100644
--- a/test/monkeyfarmer.py
+++ b/test/monkeyfarmer.py
@@ -406,6 +406,7 @@ class BrowserWindow:
self.plotted = []
self.plotting = False
self.log_entries = []
+ self.page_info_state = "UNKNOWN"
def kill(self):
self.browser.farmer.tell_monkey("WINDOW DESTROY %s" % self.winid)
@@ -519,6 +520,9 @@ class BrowserWindow:
def handle_window_CONSOLE_LOG(self, _src, src, folding, level, *msg):
self.log_entries.append((src, folding == "FOLDABLE", level, " ".join(msg)))
+ def handle_window_PAGE_STATUS(self, _status, status):
+ self.page_info_state = status
+
def load_page(self, url=None, referer=None):
if url is not None:
self.go(url, referer)