monkey: Support testing page info state

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
This commit is contained in:
Daniel Silverstone 2019-12-01 18:23:39 +00:00
parent 92caa16cfc
commit 09f6c50980
No known key found for this signature in database
GPG Key ID: C30DF439F2987D74
3 changed files with 85 additions and 0 deletions

View File

@ -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

View File

@ -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,
}

View File

@ -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)