diff options
-rw-r--r-- | qutebrowser/browser/pdfjs.py | 4 | ||||
-rw-r--r-- | qutebrowser/utils/version.py | 4 | ||||
-rw-r--r-- | tests/unit/utils/test_version.py | 11 |
3 files changed, 13 insertions, 6 deletions
diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py index e4ea3519b..427ef4537 100644 --- a/qutebrowser/browser/pdfjs.py +++ b/qutebrowser/browser/pdfjs.py @@ -50,7 +50,7 @@ def generate_pdfjs_page(filename, url): filename: The filename of the PDF to open. url: The URL being opened. """ - pdfjs_name = _get_pdfjs_basename() + pdfjs_name = get_pdfjs_basename() if pdfjs_name is None or not is_available(): pdfjs_dir = os.path.join(standarddir.data(), 'pdfjs') return jinja.render('no_pdfjs.html', @@ -204,7 +204,7 @@ def _read_from_system(system_path, names): return (None, None) -def _get_pdfjs_basename(): +def get_pdfjs_basename(): """Checks for pdf.js main module availability and returns the basename if available.""" exts = ['pdf.js', 'pdf.mjs'] for ext in exts: diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py index 75df73ffa..ac0c8220f 100644 --- a/qutebrowser/utils/version.py +++ b/qutebrowser/utils/version.py @@ -480,7 +480,9 @@ def _pdfjs_version() -> str: A string with the version number. """ try: - pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path('build/pdf.js') + pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path( + str(pathlib.Path("build") / pdfjs.get_pdfjs_basename()) + ) except pdfjs.PDFJSNotFound: return 'no' else: diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py index d902f8c53..dcb625b1e 100644 --- a/tests/unit/utils/test_version.py +++ b/tests/unit/utils/test_version.py @@ -849,11 +849,13 @@ class TestPDFJSVersion: """Tests for _pdfjs_version.""" def test_not_found(self, mocker): + mocker.patch('qutebrowser.utils.version.pdfjs.get_pdfjs_basename') mocker.patch('qutebrowser.utils.version.pdfjs.get_pdfjs_res_and_path', side_effect=pdfjs.PDFJSNotFound('/build/pdf.js')) assert version._pdfjs_version() == 'no' - def test_unknown(self, monkeypatch): + def test_unknown(self, monkeypatch, mocker): + mocker.patch('qutebrowser.utils.version.pdfjs.get_pdfjs_basename') monkeypatch.setattr( 'qutebrowser.utils.version.pdfjs.get_pdfjs_res_and_path', lambda path: (b'foobar', None)) @@ -864,7 +866,7 @@ class TestPDFJSVersion: 'var pdfjsVersion', # v2.0.943 'const pdfjsVersion', # v2.5.207 ]) - def test_known(self, monkeypatch, varname): + def test_known(self, monkeypatch, mocker, varname): pdfjs_code = textwrap.dedent(""" // Initializing PDFJS global object (if still undefined) if (typeof PDFJS === 'undefined') { @@ -878,6 +880,7 @@ class TestPDFJSVersion: // Use strict in our context only - users might not want it 'use strict'; """.replace('VARNAME', varname)).strip().encode('utf-8') + mocker.patch('qutebrowser.utils.version.pdfjs.get_pdfjs_basename') monkeypatch.setattr( 'qutebrowser.utils.version.pdfjs.get_pdfjs_res_and_path', lambda path: (pdfjs_code, '/foo/bar/pdf.js')) @@ -886,7 +889,9 @@ class TestPDFJSVersion: def test_real_file(self, data_tmpdir): """Test against the real file if pdfjs was found.""" try: - pdfjs.get_pdfjs_res_and_path('build/pdf.js') + pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path( + str(pathlib.Path("build") / pdfjs.get_pdfjs_basename()) + ) except pdfjs.PDFJSNotFound: pytest.skip("No pdfjs found") ver = version._pdfjs_version() |