aboutsummaryrefslogtreecommitdiff
path: root/test/test_unit.py
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2021-11-24 15:53:00 +0100
committerWojtek Kosior <koszko@koszko.org>2021-12-01 21:06:28 +0100
commit93dd73600e91eb19e11f5ca57f9429a85cf0150f (patch)
tree1e90890a39798f6cd9a1c0886d1234ccc187f5b3 /test/test_unit.py
parent463e6830faf5bb81474ac55cf95eed6ae68cc684 (diff)
downloadbrowser-extension-93dd73600e91eb19e11f5ca57f9429a85cf0150f.tar.gz
browser-extension-93dd73600e91eb19e11f5ca57f9429a85cf0150f.zip
improve unit testing approach
Unit tests were moved to their own subdirectory. Fixtures common to many unit tests were moved to test/unit/conftest.py. A facility to execute scripts in page's global scope was added. A workaround was employed to present information about errors in injected scripts. Sample unit tests for regexes in common/patterns.js were added.
Diffstat (limited to 'test/test_unit.py')
-rw-r--r--test/test_unit.py57
1 files changed, 0 insertions, 57 deletions
diff --git a/test/test_unit.py b/test/test_unit.py
deleted file mode 100644
index ce46f88..0000000
--- a/test/test_unit.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# SPDX-License-Identifier: CC0-1.0
-
-"""
-Haketilo unit tests
-"""
-
-# This file is part of Haketilo
-#
-# Copyright (C) 2021, jahoti
-# Copyright (C) 2021, Wojtek Kosior
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the CC0 1.0 Universal License as published by
-# the Creative Commons Corporation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# CC0 1.0 Universal License for more details.
-
-import pytest
-from .profiles import firefox_safe_mode
-from .server import do_an_internet
-from .script_loader import load_script
-
-@pytest.fixture(scope="module")
-def proxy():
- httpd = do_an_internet()
- yield httpd
- httpd.shutdown()
-
-@pytest.fixture(scope="module")
-def driver(proxy):
- with firefox_safe_mode() as driver:
- yield driver
- driver.quit()
-
-def test_proxy(driver):
- """
- A trivial test case that verifies mocked web pages served by proxy can be
- accessed by the browser driven.
- """
- for proto in ['http://', 'https://']:
- driver.get(proto + 'gotmyowndoma.in')
- element = driver.find_element_by_tag_name('title')
- title = driver.execute_script('return arguments[0].innerText;', element)
- assert "Schrodinger's Document" in title
-
-def test_script_loader(driver):
- """
- A trivial test case that verifies Haketilo's .js files can be properly
- loaded into a test page together with their dependencies.
- """
- driver.get('http://gotmyowndoma.in')
- driver.execute_script(load_script('common/stored_types.js', ['common']))
- get_var_prefix = 'return window.haketilo_exports.TYPE_PREFIX.VAR;'
- assert driver.execute_script(get_var_prefix) == '_'