validate repository responses against JSON schemas
fix URL construction when downloading definitions from Hydrilla
make "uuid" an optional property
automatically pick up a free port to run the HTTP proxy on
It is now possible to run multiple make test commands in parallel (e.g. testing abrowser and librewolf simultaneously after running configure for each of them in 2 different directories).
make test
configure
fix test-environment* targets
fix out-of-source builds
improve the build system
assume and use "$schema" properties in item definitions
facilitate running test environment with Haketilo loaded into browser
fix loading initial data and verify it in automated tests
change store names and data keys to singular
prevent failure in setup of the test case being run after test_broadcast ( old IceCat)
make resource dependency specifier an object
adapt to changes in file path format
From now on we assume Hydrilla serves file contents at 'file/sha256/' instead of 'file/sha256-'. With this commit we also stop using the "hash_key" property internally.
support Parabola's Iceweasel in tests
more improvements for abrowser&librewolf
add support for testing with other browsers (especially Abrowser and Librewolf)
There are still some spurious failures when running under those newer browsers. Those will be systematically investigated and fixed.
make Haketilo buildable again (for Mozilla)
How cool it is to throw away 5755 lines of code...
update error reporting in popup
add actual payload injection functionality to new content script
facilitate querying IndexedDB for script files of resource and its dependencies
add new root content script
add new extension's popup page
add a repo querying HTML interface
add a mapping/resources installation dialog
facilitate caching repository responses in content scripts
facilitate making CORS-agnostic requests through background script
test script blocking with and without the CSP-based approach on
move policy enforcing code to a new file, include basic test
add basic tests for new settings page
make blocking rules queryable in pattern tree just as mappings are
add settings page with styling
facilitate managing script blocking with a list of edtable entries
facilitate managing repository URLs in a list; minor other changes
add missing payload_create test and styling
improve item list styling; add payload creation form; exend dialog mechanism
further item list work
There is now a mechanism for removing an item and there are more tests for item list. The entire thing is still work in progress.
work on UI components
This commit introduces some HTML and javascript (and tests for it) to use in constructing the new UI. This is partial work that is not yet finished.
fix license promise typo
improve and test the dafult policy dialog
This commit also fixes some bugs that manifested themselves spuriously.
facilitate testing extension's HTML files
more general way to provide additional lines of code that compute_scripts.awk should process as part of a js file
add "blocking" and "repos" object stores
utilize Pattern Tree to decide the policy to use and modify HTTP response headers according to that policy
This commit also enhances the build script so that preprocessor conditionals can now use operators '&&' and '||'. The features being developed are not yet included in the actual Haketilo build....
facilitate egistering dynamic content scripts with mappings data
reworked build system; added missing license notices
facilitate tracking of IndexedDB item store contents
facilitate mocking imported values
facilitate broadcasting messages to different execution contexts within the webextension
facilitate creating and installing WebExtensions during tests
It is now possible to more conveniently test WebExtension APIs code by wrapping it into a test WebExtension and temporarily installing in the driven browser.
enable in-line command editing in the Python prompt shown as part of make test-environment
make test-environment
improve IndexedDB use
facilitate initialization of IndexedDB for use by Haketilo
finish implementing more efficient querying of URL patterns
The algorithm is implemented and tested. However, it is yet to be hooked into the actual extension.
start implementing more efficient querying of URL patterns
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....
facilitate testing javascript functions
Haketilo's .js files can now be loaded together with their dependencies and executed on a page opened in a selenium-driven Firefox instance.
add Selenium- and Python-based test system