summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-01-19 14:24:53 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-01-19 14:53:47 +0100
commitd122ab7ce13f537ac52c9ede2ef5ab8332eb809e (patch)
tree863d15f496624e01740af97b43dcdf9f5ebb06cc /tests
parent1a6b69eb24aafd137cafa2baeefa6598e3fa2ce2 (diff)
downloadqutebrowser-d122ab7ce13f537ac52c9ede2ef5ab8332eb809e.tar.gz
qutebrowser-d122ab7ce13f537ac52c9ede2ef5ab8332eb809e.zip
Refactor configtype __init__ methods
- Move the "completions" argument (to override completions) to BaseType so any class can use it. - Don't use **kwargs anywhere for better type checking. - Make arguments kw-only where useful.
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/config/test_configtypes.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/unit/config/test_configtypes.py b/tests/unit/config/test_configtypes.py
index b1418c73a..729876103 100644
--- a/tests/unit/config/test_configtypes.py
+++ b/tests/unit/config/test_configtypes.py
@@ -311,6 +311,18 @@ class TestAll:
for value, _desc in completions:
typ.from_str(value)
+ def test_custom_completions(self, klass):
+ """Make sure we can pass custom completions."""
+ completions = [('1', 'one'), ('2', 'two')]
+ typ = klass(completions=completions)
+ assert typ.complete() == completions
+
+ def test_signature(self, klass):
+ """Make sure flag arguments are kw-only."""
+ sig = inspect.signature(klass)
+ for name in ['none_ok', 'completions']:
+ assert sig.parameters[name].kind == inspect.Parameter.KEYWORD_ONLY
+
class TestBaseType:
@@ -534,8 +546,7 @@ class ListSubclass(configtypes.List):
elemtype = configtypes.String(none_ok=none_ok_inner)
super().__init__(elemtype, none_ok=none_ok_outer, length=length)
if set_valid_values:
- self.valtype.valid_values = configtypes.ValidValues(
- 'foo', 'bar', 'baz')
+ self.valtype.valid_values = configtypes.ValidValues('foo', 'bar', 'baz')
class FlagListSubclass(configtypes.FlagList):