summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/browser/pdfjs.py4
-rw-r--r--qutebrowser/utils/version.py4
-rw-r--r--tests/unit/utils/test_version.py11
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()