Ejemplo n.º 1
0
    def test_get_pdfjs_res_not_found(self, read_system_mock, read_file_mock):
        read_system_mock.return_value = (None, None)
        read_file_mock.side_effect = FileNotFoundError

        with pytest.raises(pdfjs.PDFJSNotFound,
                           match="Path 'web/test' not found"):
            pdfjs.get_pdfjs_res_and_path('web/test')
Ejemplo n.º 2
0
 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')
     except pdfjs.PDFJSNotFound:
         pytest.skip("No pdfjs found")
     ver = version._pdfjs_version()
     assert ver.split()[0] not in ['no', 'unknown'], ver
Ejemplo n.º 3
0
 def test_real_file(self):
     """Test against the real file if pdfjs was found."""
     try:
         pdfjs.get_pdfjs_res_and_path('build/pdf.js')
     except pdfjs.PDFJSNotFound:
         pytest.skip("No pdfjs found")
     ver = version._pdfjs_version()
     assert ver.split()[0] not in ['no', 'unknown'], ver
Ejemplo n.º 4
0
    def test_get_pdfjs_res_not_found(self, read_system_mock, read_file_mock,
                                     caplog):
        read_system_mock.return_value = (None, None)
        read_file_mock.side_effect = FileNotFoundError

        with pytest.raises(pdfjs.PDFJSNotFound,
                           match="Path 'web/test' not found"):
            pdfjs.get_pdfjs_res_and_path('web/test')

        assert not caplog.records
Ejemplo n.º 5
0
    def test_get_pdfjs_res_oserror(self, read_system_mock, read_file_mock,
                                   caplog):
        read_system_mock.return_value = (None, None)
        read_file_mock.side_effect = OSError("Message")

        with caplog.at_level(logging.WARNING):
            with pytest.raises(pdfjs.PDFJSNotFound,
                               match="Path 'web/test' not found"):
                pdfjs.get_pdfjs_res_and_path('web/test')

        expected = 'OSError while reading PDF.js file: Message'
        assert caplog.messages == [expected]
Ejemplo n.º 6
0
    def test_get_pdfjs_res_oserror(self, read_system_mock, read_file_mock,
                                   caplog):
        read_system_mock.return_value = (None, None)
        read_file_mock.side_effect = OSError("Message")

        with caplog.at_level(logging.WARNING):
            with pytest.raises(pdfjs.PDFJSNotFound,
                               match="Path 'web/test' not found"):
                pdfjs.get_pdfjs_res_and_path('web/test')

        expected = 'OSError while reading PDF.js file: Message'
        assert caplog.messages == [expected]
Ejemplo n.º 7
0
    def test_get_pdfjs_res_system(self, read_system_mock):
        read_system_mock.return_value = (b'content', 'path')

        assert pdfjs.get_pdfjs_res_and_path('web/test') == (b'content', 'path')
        assert pdfjs.get_pdfjs_res('web/test') == b'content'

        read_system_mock.assert_called_with('/usr/share/pdf.js/',
                                            ['web/test', 'test'])
Ejemplo n.º 8
0
    def test_get_pdfjs_res_system(self, read_system_mock):
        read_system_mock.return_value = (b'content', 'path')

        assert pdfjs.get_pdfjs_res_and_path('web/test') == (b'content', 'path')
        assert pdfjs.get_pdfjs_res('web/test') == b'content'

        read_system_mock.assert_called_with('/usr/share/pdf.js/',
                                            ['web/test', 'test'])
Ejemplo n.º 9
0
    def test_get_pdfjs_res_bundled(self, read_system_mock, read_file_mock):
        read_system_mock.return_value = (None, None)

        read_file_mock.return_value = b'content'

        assert pdfjs.get_pdfjs_res_and_path('web/test') == (b'content', None)
        assert pdfjs.get_pdfjs_res('web/test') == b'content'

        for path in pdfjs.SYSTEM_PDFJS_PATHS:
            read_system_mock.assert_any_call(path, ['web/test', 'test'])
Ejemplo n.º 10
0
    def test_get_pdfjs_res_bundled(self, read_system_mock, read_file_mock,
                                   tmpdir):
        read_system_mock.return_value = (None, None)

        read_file_mock.return_value = b'content'

        assert pdfjs.get_pdfjs_res_and_path('web/test') == (b'content', None)
        assert pdfjs.get_pdfjs_res('web/test') == b'content'

        for path in ['/usr/share/pdf.js/',
                     str(tmpdir / 'data' / 'pdfjs'),
                     # hardcoded for --temp-basedir
                     os.path.expanduser('~/.local/share/qutebrowser/pdfjs/')]:
            read_system_mock.assert_any_call(path, ['web/test', 'test'])
Ejemplo n.º 11
0
    def test_get_pdfjs_res_bundled(self, read_system_mock, read_file_mock,
                                   tmpdir):
        read_system_mock.return_value = (None, None)

        read_file_mock.return_value = b'content'

        assert pdfjs.get_pdfjs_res_and_path('web/test') == (b'content', None)
        assert pdfjs.get_pdfjs_res('web/test') == b'content'

        for path in ['/usr/share/pdf.js/',
                     str(tmpdir / 'data' / 'pdfjs'),
                     # hardcoded for --temp-basedir
                     os.path.expanduser('~/.local/share/qutebrowser/pdfjs/')]:
            read_system_mock.assert_any_call(path, ['web/test', 'test'])
Ejemplo n.º 12
0
def _pdfjs_version():
    """Get the pdf.js version.

    Return:
        A string with the version number.
    """
    try:
        pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path('build/pdf.js')
    except pdfjs.PDFJSNotFound:
        return 'no'
    else:
        pdfjs_file = pdfjs_file.decode('utf-8')
        version_re = re.compile(r"^PDFJS\.version = '([^']+)';$", re.MULTILINE)
        match = version_re.search(pdfjs_file)
        if not match:
            pdfjs_version = 'unknown'
        else:
            pdfjs_version = match.group(1)
        if file_path is None:
            file_path = 'bundled'
        return '{} ({})'.format(pdfjs_version, file_path)
Ejemplo n.º 13
0
def _pdfjs_version():
    """Get the pdf.js version.

    Return:
        A string with the version number.
    """
    try:
        pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path('build/pdf.js')
    except pdfjs.PDFJSNotFound:
        return 'no'
    else:
        pdfjs_file = pdfjs_file.decode('utf-8')
        version_re = re.compile(r"^PDFJS\.version = '([^']+)';$", re.MULTILINE)
        match = version_re.search(pdfjs_file)
        if not match:
            pdfjs_version = 'unknown'
        else:
            pdfjs_version = match.group(1)
        if file_path is None:
            file_path = 'bundled'
        return '{} ({})'.format(pdfjs_version, file_path)
Ejemplo n.º 14
0
def _pdfjs_version():
    """Get the pdf.js version.

    Return:
        A string with the version number.
    """
    try:
        pdfjs_file, file_path = pdfjs.get_pdfjs_res_and_path("build/pdf.js")
    except pdfjs.PDFJSNotFound:
        return "no"
    else:
        pdfjs_file = pdfjs_file.decode("utf-8")
        version_re = re.compile(r"^(PDFJS\.version|var pdfjsVersion) = '([^']+)';$", re.MULTILINE)

        match = version_re.search(pdfjs_file)
        if not match:
            pdfjs_version = "unknown"
        else:
            pdfjs_version = match.group(2)
        if file_path is None:
            file_path = "bundled"
        return "{} ({})".format(pdfjs_version, file_path)