gtn/.venv/Lib/site-packages/mypy/test/testformatter.py
Tipragot 628be439b8 Ajout d'un environement de développement.
Cela permet de ne pas avoir de problèmes de compatibilité
car python est dans le git.
2023-10-26 15:33:03 +02:00

86 lines
2.6 KiB
Python

from __future__ import annotations
from unittest import TestCase, main
from mypy.util import split_words, trim_source_line
class FancyErrorFormattingTestCases(TestCase):
def test_trim_source(self) -> None:
assert trim_source_line("0123456789abcdef", max_len=16, col=5, min_width=2) == (
"0123456789abcdef",
0,
)
# Locations near start.
assert trim_source_line("0123456789abcdef", max_len=7, col=0, min_width=2) == (
"0123456...",
0,
)
assert trim_source_line("0123456789abcdef", max_len=7, col=4, min_width=2) == (
"0123456...",
0,
)
# Middle locations.
assert trim_source_line("0123456789abcdef", max_len=7, col=5, min_width=2) == (
"...1234567...",
-2,
)
assert trim_source_line("0123456789abcdef", max_len=7, col=6, min_width=2) == (
"...2345678...",
-1,
)
assert trim_source_line("0123456789abcdef", max_len=7, col=8, min_width=2) == (
"...456789a...",
1,
)
# Locations near the end.
assert trim_source_line("0123456789abcdef", max_len=7, col=11, min_width=2) == (
"...789abcd...",
4,
)
assert trim_source_line("0123456789abcdef", max_len=7, col=13, min_width=2) == (
"...9abcdef",
6,
)
assert trim_source_line("0123456789abcdef", max_len=7, col=15, min_width=2) == (
"...9abcdef",
6,
)
def test_split_words(self) -> None:
assert split_words("Simple message") == ["Simple", "message"]
assert split_words('Message with "Some[Long, Types]"' " in it") == [
"Message",
"with",
'"Some[Long, Types]"',
"in",
"it",
]
assert split_words('Message with "Some[Long, Types]"' " and [error-code]") == [
"Message",
"with",
'"Some[Long, Types]"',
"and",
"[error-code]",
]
assert split_words('"Type[Stands, First]" then words') == [
'"Type[Stands, First]"',
"then",
"words",
]
assert split_words('First words "Then[Stands, Type]"') == [
"First",
"words",
'"Then[Stands, Type]"',
]
assert split_words('"Type[Only, Here]"') == ['"Type[Only, Here]"']
assert split_words("OneWord") == ["OneWord"]
assert split_words(" ") == ["", ""]
if __name__ == "__main__":
main()