Review fixes
This commit is contained in:
parent
932e7a9ab9
commit
6a486058c5
@ -38,7 +38,6 @@ def installed_file(code):
|
||||
if the dictionary is not installed.
|
||||
"""
|
||||
pathname = os.path.join(dictionary_dir(), '{}*.bdic'.format(code))
|
||||
print(pathname)
|
||||
matching_dicts = glob.glob(pathname)
|
||||
if matching_dicts:
|
||||
with_extension = os.path.basename(matching_dicts[0])
|
||||
|
@ -27,9 +27,9 @@ Module attributes:
|
||||
constants.
|
||||
"""
|
||||
|
||||
import os
|
||||
import ctypes
|
||||
import ctypes.util
|
||||
import os
|
||||
|
||||
from PyQt5.QtGui import QFont
|
||||
from PyQt5.QtWebEngineWidgets import (QWebEngineSettings, QWebEngineProfile,
|
||||
|
@ -1034,7 +1034,7 @@ spellcheck.languages:
|
||||
- uk-UA: Ukrainian (Ukraine)
|
||||
- vi-VN: Vietnamese (Viet Nam)
|
||||
none_ok: true
|
||||
default:
|
||||
default: []
|
||||
desc: >-
|
||||
Spell checking languages.
|
||||
|
||||
|
@ -172,6 +172,9 @@ PERFECT_FILES = [
|
||||
('tests/unit/completion/test_listcategory.py',
|
||||
'completion/models/listcategory.py'),
|
||||
|
||||
('tests/unit/browser/webengine/test_spell.py',
|
||||
'browser/webengine/spell.py'),
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
@ -29,6 +29,11 @@ import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(
|
||||
0, os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
|
||||
from scripts import install_dict
|
||||
from qutebrowser.config import configdata
|
||||
|
||||
|
||||
def get_latest_pdfjs_url():
|
||||
"""Get the URL of the latest pdf.js prebuilt package.
|
||||
@ -113,12 +118,9 @@ def update_ace():
|
||||
|
||||
def test_dicts():
|
||||
"""Test available dictionaries."""
|
||||
sys.path.insert(0, os.curdir)
|
||||
from scripts import install_dict
|
||||
from qutebrowser.config import configdata
|
||||
configdata.init()
|
||||
for lang in install_dict.available_languages():
|
||||
sys.stdout.write('Testing dictionary {}... '.format(lang.code))
|
||||
print('Testing dictionary {}... '.format(lang.code), end='')
|
||||
lang_url = urllib.parse.urljoin(install_dict.API_URL, lang.file_path)
|
||||
request = urllib.request.Request(lang_url, method='HEAD')
|
||||
response = urllib.request.urlopen(request)
|
||||
@ -129,7 +131,7 @@ def test_dicts():
|
||||
|
||||
|
||||
def run(ace=False, pdfjs=True, fancy_dmg=False, pdfjs_version=None,
|
||||
dicts=None):
|
||||
dicts=False):
|
||||
"""Update components based on the given arguments."""
|
||||
if pdfjs:
|
||||
update_pdfjs(pdfjs_version)
|
||||
|
@ -40,6 +40,14 @@ from qutebrowser.config import configdata
|
||||
API_URL = 'https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git/+/master/'
|
||||
|
||||
|
||||
class InvalidLanguageError(Exception):
|
||||
"""Raised when requested invalid languages."""
|
||||
|
||||
def __init__(self, invalid_langs):
|
||||
msg = 'invalid languages: {}'.format(', '.join(invalid_langs))
|
||||
super(InvalidLanguageError, self).__init__(msg)
|
||||
|
||||
|
||||
@attr.s
|
||||
class Language:
|
||||
"""Dictionary language specs."""
|
||||
@ -68,7 +76,7 @@ def get_argparser():
|
||||
|
||||
def print_list(languages):
|
||||
for lang in languages:
|
||||
print('{1}\t{0}'.format(lang.name, lang.code))
|
||||
print(lang.code, lang.name, sep='\t')
|
||||
|
||||
|
||||
def valid_languages():
|
||||
@ -118,9 +126,6 @@ def filter_languages(languages, selected):
|
||||
Args:
|
||||
languages: a list of languages to filter
|
||||
selected: a list of keys to select
|
||||
by: a function returning the selection key (code by default)
|
||||
fail_on_unknown: whether to raise an error if there is an unknown
|
||||
key in selected
|
||||
"""
|
||||
filtered_languages = []
|
||||
for language in languages:
|
||||
@ -128,8 +133,7 @@ def filter_languages(languages, selected):
|
||||
filtered_languages.append(language)
|
||||
selected.remove(language.code)
|
||||
if selected:
|
||||
unknown = ', '.join(selected)
|
||||
raise ValueError('unknown languages found: {}'.format(unknown))
|
||||
raise InvalidLanguageError(selected)
|
||||
return filtered_languages
|
||||
|
||||
|
||||
@ -170,7 +174,7 @@ def main():
|
||||
else:
|
||||
try:
|
||||
install(filter_languages(languages, args.languages))
|
||||
except ValueError as e:
|
||||
except InvalidLanguageError as e:
|
||||
print(e)
|
||||
|
||||
|
||||
|
@ -526,3 +526,15 @@ Feature: Various utility commands.
|
||||
And I wait for "Renderer process was killed" in the log
|
||||
And I open data/numbers/3.txt
|
||||
Then no crash should happen
|
||||
|
||||
## Spellcheck
|
||||
|
||||
@qtwebkit_skip @qt>=5.8 @cannot_have_dict=af-ZA
|
||||
Scenario: Set valid but not installed language
|
||||
When I run :set spellcheck.languages ['af-ZA']
|
||||
Then the warning "Language af-ZA is not installed." should be shown
|
||||
|
||||
@qtwebkit_skip @qt>=5.8 @must_have_dict=en-US
|
||||
Scenario: Set valid and installed language
|
||||
When I run :set spellcheck.languages ["en-US"]
|
||||
Then the option spellcheck.languages should be set to ["en-US"]
|
||||
|
@ -1,30 +0,0 @@
|
||||
# vim: ft=cucumber fileencoding=utf-8 sts=4 sw=4 et:
|
||||
|
||||
Feature: Setting spell checking for QtWebEngine
|
||||
|
||||
@qtwebkit_skip @qt>=5.8
|
||||
Scenario: Turn spell check on
|
||||
Given I set spellcheck.enabled to false
|
||||
When I run :set spellcheck.enabled true
|
||||
Then the option spellcheck.enabled should be set to true
|
||||
|
||||
@qtwebkit_skip @qt>=5.8
|
||||
Scenario: Turn spell check off
|
||||
Given I set spellcheck.enabled to true
|
||||
When I run :set spellcheck.enabled false
|
||||
Then the option spellcheck.enabled should be set to false
|
||||
|
||||
@qtwebkit_skip @qt>=5.8
|
||||
Scenario: Set an invalid language
|
||||
When I run :set spellcheck.languages ['invalid-language'] (invalid command)
|
||||
Then the error "set: Invalid value 'invalid-language' *" should be shown
|
||||
|
||||
@qtwebkit_skip @qt>=5.8 @cannot_have_dict=af-ZA
|
||||
Scenario: Set valid but not installed language
|
||||
When I run :set spellcheck.languages ['af-ZA']
|
||||
Then the warning "Language af-ZA is not installed." should be shown
|
||||
|
||||
@qtwebkit_skip @qt>=5.8 @must_have_dict=en-US
|
||||
Scenario: Set valid and installed language
|
||||
When I run :set spellcheck.languages ["en-US"]
|
||||
Then the option spellcheck.languages should be set to ["en-US"]
|
@ -1,22 +0,0 @@
|
||||
# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:
|
||||
|
||||
# Copyright 2017 Michał Siedlaczek <michal.siedlaczek@gmail.com>
|
||||
#
|
||||
# This file is part of qutebrowser.
|
||||
#
|
||||
# qutebrowser is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# qutebrowser is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import pytest_bdd as bdd
|
||||
|
||||
bdd.scenarios('spell.feature')
|
@ -56,7 +56,7 @@ def test_filter_languages():
|
||||
LANGUAGE_LIST, ['pl-PL', 'en-US'])
|
||||
assert filtered_langs == [ENGLISH, POLISH]
|
||||
|
||||
with pytest.raises(ValueError):
|
||||
with pytest.raises(install_dict.InvalidLanguageError):
|
||||
install_dict.filter_languages(LANGUAGE_LIST, ['pl-PL', 'en-GB'])
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user