diff options
author | Florian Bruhin <me@the-compiler.org> | 2023-12-04 10:46:30 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2023-12-04 10:46:30 +0100 |
commit | 1d29cf641ba25556ca148dc0a20abe0b90469874 (patch) | |
tree | 84c2f5d3f3a931ba2ed80b7e2a3245a7572a40e0 | |
parent | 23a168926262f2304652baee57b7793c87ffe359 (diff) | |
download | qutebrowser-1d29cf641ba25556ca148dc0a20abe0b90469874.tar.gz qutebrowser-1d29cf641ba25556ca148dc0a20abe0b90469874.zip |
Simplify get_pdfjs test
Given that the two branches share rather little, it seems simpler to separate the two tests. Also use monkeypatch, since we don't use any of unittest.mock's complexity
-rw-r--r-- | tests/unit/browser/test_pdfjs.py | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/tests/unit/browser/test_pdfjs.py b/tests/unit/browser/test_pdfjs.py index 7bd9588b4..cb5c26229 100644 --- a/tests/unit/browser/test_pdfjs.py +++ b/tests/unit/browser/test_pdfjs.py @@ -196,27 +196,28 @@ def test_is_available(available, mocker): @pytest.mark.parametrize('found_file', [ "build/pdf.js", "build/pdf.mjs", - None, ]) -def test_get_pdfjs_js_path(found_file, mocker): - - def side_effect(requested): - if found_file and requested.endswith(found_file): +def test_get_pdfjs_js_path(found_file: str, monkeypatch: pytest.MonkeyPatch): + def fake_pdfjs_res(requested): + if requested.endswith(found_file): return + raise pdfjs.PDFJSNotFound(requested) + + monkeypatch.setattr(pdfjs, 'get_pdfjs_res', fake_pdfjs_res) + assert pdfjs.get_pdfjs_js_path() == found_file + +def test_get_pdfjs_js_path_none(monkeypatch: pytest.MonkeyPatch): + def fake_pdfjs_res(requested): raise pdfjs.PDFJSNotFound(requested) - mock = mocker.patch.object(pdfjs, 'get_pdfjs_res', autospec=True) - mock.side_effect = side_effect - - if found_file is None: - with pytest.raises( - pdfjs.PDFJSNotFound, - match="Path 'build/pdf.js or build/pdf.mjs' not found" - ): - pdfjs.get_pdfjs_js_path() - else: - assert pdfjs.get_pdfjs_js_path() == found_file + monkeypatch.setattr(pdfjs, 'get_pdfjs_res', fake_pdfjs_res) + + with pytest.raises( + pdfjs.PDFJSNotFound, + match="Path 'build/pdf.js or build/pdf.mjs' not found" + ): + pdfjs.get_pdfjs_js_path() @pytest.mark.parametrize('mimetype, url, enabled, expected', [ |