mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-31 11:16:54 +00:00
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
"""Unit tests for flake8.options.manager.Option."""
|
|
import functools
|
|
from unittest import mock
|
|
|
|
import pytest
|
|
|
|
from flake8.options import manager
|
|
|
|
|
|
def test_to_argparse():
|
|
"""Test conversion to an argparse arguments."""
|
|
opt = manager.Option(
|
|
short_option_name="-t",
|
|
long_option_name="--test",
|
|
action="count",
|
|
parse_from_config=True,
|
|
normalize_paths=True,
|
|
)
|
|
assert opt.normalize_paths is True
|
|
assert opt.parse_from_config is True
|
|
|
|
args, kwargs = opt.to_argparse()
|
|
assert args == ["-t", "--test"]
|
|
assert kwargs == {"action": "count", "type": mock.ANY}
|
|
assert isinstance(kwargs["type"], functools.partial)
|
|
|
|
|
|
def test_to_optparse():
|
|
"""Test that .to_optparse() produces a useful error message."""
|
|
with pytest.raises(AttributeError) as excinfo:
|
|
manager.Option("--foo").to_optparse
|
|
(msg,) = excinfo.value.args
|
|
assert msg == "to_optparse: flake8 now uses argparse"
|
|
|
|
|
|
def test_to_argparse_creates_an_option_as_we_expect():
|
|
"""Show that we pass all keyword args to argparse."""
|
|
opt = manager.Option("-t", "--test", action="count")
|
|
args, kwargs = opt.to_argparse()
|
|
assert args == ["-t", "--test"]
|
|
assert kwargs == {"action": "count"}
|
|
|
|
|
|
def test_config_name_generation():
|
|
"""Show that we generate the config name deterministically."""
|
|
opt = manager.Option(
|
|
long_option_name="--some-very-long-option-name",
|
|
parse_from_config=True,
|
|
)
|
|
|
|
assert opt.config_name == "some_very_long_option_name"
|
|
|
|
|
|
def test_config_name_needs_long_option_name():
|
|
"""Show that we error out if the Option should be parsed from config."""
|
|
with pytest.raises(ValueError):
|
|
manager.Option("-s", parse_from_config=True)
|
|
|
|
|
|
def test_dest_is_not_overridden():
|
|
"""Show that we do not override custom destinations."""
|
|
opt = manager.Option("-s", "--short", dest="something_not_short")
|
|
assert opt.dest == "something_not_short"
|