mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 16:19:21 +00:00
2ec342e612
This addresses issue #156 by allowing for multiple ignore patterns to be specified. Rather than clobber the existing ignore option, I've introduced a new one called ignore-patterns. That way there are as few surprises as something involving regular expressions can have. Multiple patterns must be separated by a comma. For example, if I wanted to ignore all files that started with `test_` and `_`, I'd pass this in: `--ignore-patterns="test_.*","_.*"`. Close #156
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
"""Unit tests for the config module."""
|
|
|
|
import re
|
|
import sre_constants
|
|
import unittest
|
|
|
|
from pylint import config
|
|
|
|
class ConfigValidatorTest(unittest.TestCase):
|
|
def test__regexp_validator_valid(self):
|
|
result = config._regexp_validator(None, None, "test_.*")
|
|
self.assertTrue(isinstance(result, re._pattern_type))
|
|
self.assertEqual(result.pattern, "test_.*")
|
|
|
|
def test__regexp_validator_invalid(self):
|
|
with self.assertRaises(sre_constants.error):
|
|
config._regexp_validator(None, None, "test_)")
|
|
|
|
def test__csv_validator_no_spaces(self):
|
|
values = ["One", "Two", "Three"]
|
|
result = config._csv_validator(None, None, ",".join(values))
|
|
self.assertTrue(isinstance(result, list))
|
|
self.assertEqual(len(result), 3)
|
|
for i, value in enumerate(values):
|
|
self.assertEqual(result[i], value)
|
|
|
|
def test__csv_validator_spaces(self):
|
|
values = ["One", "Two", "Three"]
|
|
result = config._csv_validator(None, None, ", ".join(values))
|
|
self.assertTrue(isinstance(result, list))
|
|
self.assertEqual(len(result), 3)
|
|
for i, value in enumerate(values):
|
|
self.assertEqual(result[i], value)
|
|
|
|
def test__regexp_csv_validator_valid(self):
|
|
pattern_strings = ["test_.*", "foo\.bar", "^baz$"]
|
|
result = config._regexp_csv_validator(None, None, ",".join(pattern_strings))
|
|
for i, regex in enumerate(result):
|
|
self.assertTrue(isinstance(regex, re._pattern_type))
|
|
self.assertEqual(regex.pattern, pattern_strings[i])
|
|
|
|
def test__regexp_csv_validator_invalid(self):
|
|
pattern_strings = ["test_.*", "foo\.bar", "^baz)$"]
|
|
with self.assertRaises(sre_constants.error):
|
|
config._regexp_csv_validator(None, None, ",".join(pattern_strings))
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|