From 132b1f705ee313442bc1ec6f1ddcd22c702773e2 Mon Sep 17 00:00:00 2001 From: Michal Siedlaczek Date: Thu, 21 Sep 2017 09:42:21 -0400 Subject: [PATCH] Revert requirements changes --- misc/requirements/requirements-codecov.txt | 8 +++--- misc/requirements/requirements-pylint.txt | 1 + misc/requirements/requirements-tests.txt-raw | 1 - qutebrowser/browser/webengine/spell.py | 8 ++++-- tests/unit/browser/webengine/test_spell.py | 30 +++++++++++++------- 5 files changed, 31 insertions(+), 17 deletions(-) diff --git a/misc/requirements/requirements-codecov.txt b/misc/requirements/requirements-codecov.txt index c971e2306..86f78562d 100644 --- a/misc/requirements/requirements-codecov.txt +++ b/misc/requirements/requirements-codecov.txt @@ -1,9 +1,9 @@ # This file is automatically generated by scripts/dev/recompile_requirements.py -certifi==2017.7.27.1 +certifi==2017.4.17 chardet==3.0.4 codecov==2.0.9 coverage==4.4.1 -idna==2.6 -requests==2.18.4 -urllib3==1.22 +idna==2.5 +requests==2.18.1 +urllib3==1.21.1 diff --git a/misc/requirements/requirements-pylint.txt b/misc/requirements/requirements-pylint.txt index 7463184a4..777d47fdd 100644 --- a/misc/requirements/requirements-pylint.txt +++ b/misc/requirements/requirements-pylint.txt @@ -4,6 +4,7 @@ astroid==1.5.3 certifi==2017.7.27.1 chardet==3.0.4 github3.py==0.9.6 +idna==2.6 isort==4.2.15 lazy-object-proxy==1.3.1 mccabe==0.6.1 diff --git a/misc/requirements/requirements-tests.txt-raw b/misc/requirements/requirements-tests.txt-raw index 8693ed31f..bc44bc8e1 100644 --- a/misc/requirements/requirements-tests.txt-raw +++ b/misc/requirements/requirements-tests.txt-raw @@ -17,7 +17,6 @@ pytest-repeat pytest-rerunfailures pytest-travis-fold pytest-xvfb -requests vulture #@ ignore: Jinja2, MarkupSafe, colorama diff --git a/qutebrowser/browser/webengine/spell.py b/qutebrowser/browser/webengine/spell.py index 99595160c..5f40d189e 100644 --- a/qutebrowser/browser/webengine/spell.py +++ b/qutebrowser/browser/webengine/spell.py @@ -128,6 +128,10 @@ def filter_languages(languages, selected, by=lambda lang: lang.code, return filtered_languages +def download_dictionary(url, dest): + urlretrieve(url, dest) + + def install(languages): """Install languages.""" for lang in languages: @@ -139,8 +143,8 @@ def install(languages): get_dictionary_dir())) os.makedirs(get_dictionary_dir()) print('Downloading {}'.format(lang_url)) - urlretrieve(lang_url, - os.path.join(get_dictionary_dir(), lang.file)) + download_dictionary(lang_url, os.path.join(get_dictionary_dir(), + lang.file)) print('Done.') except PermissionError as e: print(e) diff --git a/tests/unit/browser/webengine/test_spell.py b/tests/unit/browser/webengine/test_spell.py index a5c1c3db5..e7d353cbf 100644 --- a/tests/unit/browser/webengine/test_spell.py +++ b/tests/unit/browser/webengine/test_spell.py @@ -18,11 +18,9 @@ # along with qutebrowser. If not, see . -from os.path import basename -from urllib.parse import urljoin +from os.path import basename, join import pytest -from requests import head from qutebrowser.browser.webengine import spell @@ -39,13 +37,22 @@ POLISH = spell.Language('pl-PL', LANGUAGE_LIST = [AFRIKAANS, ENGLISH, POLISH] -def test_get_installed_languages(mocker): - # return an empty list if the dir doesn't exist +def test_get_installed_languages_empty(tmpdir, mocker): mocker.patch('qutebrowser.browser.webengine.spell.get_dictionary_dir', lambda: '/some-non-existing-dir') assert spell.get_installed_languages() == [] +def test_get_installed_languages_non_empty(tmpdir, mocker): + mocker.patch('qutebrowser.browser.webengine.spell.get_dictionary_dir', + lambda: str(tmpdir)) + for lang in LANGUAGE_LIST: + open(join(tmpdir, lang.file), 'w').close() + for actual, expected in zip(spell.get_installed_languages(), LANGUAGE_LIST): + assert (actual.code, actual.name, actual.file) ==\ + (expected.code, expected.name, expected.file) + + def test_get_available_languages(): language_list = spell.get_available_languages() assert len(language_list) == 42 @@ -71,14 +78,17 @@ def test_filter_languages(): def test_install(tmpdir, mocker): mocker.patch('qutebrowser.browser.webengine.spell.get_dictionary_dir', lambda: str(tmpdir)) + mocker.patch('qutebrowser.browser.webengine.spell.download_dictionary', + lambda url, dest: open(dest, 'w').close()) spell.install(LANGUAGE_LIST) installed_files = [basename(str(file)) for file in tmpdir.listdir()] expected_files = [lang.file for lang in LANGUAGE_LIST] assert sorted(installed_files) == sorted(expected_files) -def test_available_langs(): - for lang in spell.get_available_languages(): - lang_url = urljoin(spell.repository_url, lang.file) - response = head(lang_url) - assert response.status_code == 302 +# TODO: move to update_3rdparty.py +#def test_available_langs(): +# for lang in spell.get_available_languages(): +# lang_url = urljoin(spell.repository_url, lang.file) +# response = head(lang_url) +# assert response.status_code == 302