summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorYilei "Dolee" Yang <yileiyang@google.com>2021-08-30 13:11:27 -0700
committerGitHub <noreply@github.com>2021-08-30 22:11:27 +0200
commitc64b9d1b6179514c78abc5cc063374335c9208c1 (patch)
tree6f4a8e1d4f248bc40c6916be4964a81e1e4cfe64 /tests
parentc81a7f1684aab2c69f0cd1411abbc0c9fbd93637 (diff)
downloadpylint-git-c64b9d1b6179514c78abc5cc063374335c9208c1.tar.gz
Emit a correct invalid-name message when using multi-naming style. (#4924)
* Emit a correct invalid-name message when using multi-naming style. Previously, given `--function-rgx=(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$` and the code: ``` def FOO(): pass def UPPER(): pass def lower(): pass ``` It would emit a message: ``Function name `lower` doesn't conform to '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern [invalid-name]``. The message is misleading as `lower` *does* conform to `(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$`. It's just not the prevalent group "UP". After this commit, the message becomes: ``Function name `lower` doesn't conform to UP group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern [invalid-name]`` Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/checkers/unittest_base.py16
-rw-r--r--tests/functional/i/invalid/invalid_name_multinaming_style.py13
-rw-r--r--tests/functional/i/invalid/invalid_name_multinaming_style.rc2
-rw-r--r--tests/functional/i/invalid/invalid_name_multinaming_style.txt1
4 files changed, 28 insertions, 4 deletions
diff --git a/tests/checkers/unittest_base.py b/tests/checkers/unittest_base.py
index 7121f257f..6a20db922 100644
--- a/tests/checkers/unittest_base.py
+++ b/tests/checkers/unittest_base.py
@@ -303,7 +303,11 @@ class TestMultiNamingStyle(CheckerTestCase):
message = Message(
"invalid-name",
node=classes[0],
- args=("Class", "classb", "'(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern"),
+ args=(
+ "Class",
+ "classb",
+ "the `UP` group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern",
+ ),
)
with self.assertAddsMessages(message):
cls = None
@@ -340,7 +344,7 @@ class TestMultiNamingStyle(CheckerTestCase):
args=(
"Class",
"CLASSC",
- "'(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern",
+ "the `down` group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern",
),
),
]
@@ -371,7 +375,11 @@ class TestMultiNamingStyle(CheckerTestCase):
message = Message(
"invalid-name",
node=function_defs[1],
- args=("Function", "FUNC", "'(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern"),
+ args=(
+ "Function",
+ "FUNC",
+ "the `down` group in the '(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern",
+ ),
)
with self.assertAddsMessages(message):
func = None
@@ -402,7 +410,7 @@ class TestMultiNamingStyle(CheckerTestCase):
args=(
"Function",
"UPPER",
- "'(?:(?P<ignore>FOO)|(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern",
+ "the `down` group in the '(?:(?P<ignore>FOO)|(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern",
),
)
with self.assertAddsMessages(message):
diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.py b/tests/functional/i/invalid/invalid_name_multinaming_style.py
new file mode 100644
index 000000000..561a15472
--- /dev/null
+++ b/tests/functional/i/invalid/invalid_name_multinaming_style.py
@@ -0,0 +1,13 @@
+"""Test for multi naming style."""
+
+
+def UPPER(): # [invalid-name]
+ """UPPER func that will generate invalid-name error."""
+
+
+def lower():
+ """lower func that satisfies the prevalent group `lower`."""
+
+
+def anotherlower():
+ """Another lower func that satisfies the prevalent group `lower`."""
diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.rc b/tests/functional/i/invalid/invalid_name_multinaming_style.rc
new file mode 100644
index 000000000..d513cfbff
--- /dev/null
+++ b/tests/functional/i/invalid/invalid_name_multinaming_style.rc
@@ -0,0 +1,2 @@
+[BASIC]
+function-rgx=^(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$
diff --git a/tests/functional/i/invalid/invalid_name_multinaming_style.txt b/tests/functional/i/invalid/invalid_name_multinaming_style.txt
new file mode 100644
index 000000000..abcde057e
--- /dev/null
+++ b/tests/functional/i/invalid/invalid_name_multinaming_style.txt
@@ -0,0 +1 @@
+invalid-name:4:0:UPPER:"Function name ""UPPER"" doesn't conform to the `down` group in the '^(?:(?P<UP>[A-Z]+)|(?P<down>[a-z]+))$' pattern":HIGH