mirror of https://github.com/astral-sh/ruff
[`pep8-naming`] Consider any number of leading underscore for `N801` (#15988)
## Summary The PR addresses the issue #15939 Let me know if you think there are other test cases I should add ;-)
This commit is contained in:
parent
24bab7e82e
commit
81059d05fc
|
|
@ -6,6 +6,10 @@ class _bad:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class __bad:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class bad_class:
|
class bad_class:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
@ -13,6 +17,8 @@ class bad_class:
|
||||||
class Bad_Class:
|
class Bad_Class:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class Bad__Class:
|
||||||
|
pass
|
||||||
|
|
||||||
class BAD_CLASS:
|
class BAD_CLASS:
|
||||||
pass
|
pass
|
||||||
|
|
@ -32,3 +38,6 @@ class GoodClass:
|
||||||
|
|
||||||
class GOOD:
|
class GOOD:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class __GoodClass:
|
||||||
|
pass
|
||||||
|
|
@ -54,7 +54,7 @@ pub(crate) fn invalid_class_name(
|
||||||
name: &str,
|
name: &str,
|
||||||
ignore_names: &IgnoreNames,
|
ignore_names: &IgnoreNames,
|
||||||
) -> Option<Diagnostic> {
|
) -> Option<Diagnostic> {
|
||||||
let stripped = name.strip_prefix('_').unwrap_or(name);
|
let stripped = name.trim_start_matches('_');
|
||||||
if !stripped.chars().next().is_some_and(char::is_uppercase) || stripped.contains('_') {
|
if !stripped.chars().next().is_some_and(char::is_uppercase) || stripped.contains('_') {
|
||||||
// Ignore any explicitly-allowed names.
|
// Ignore any explicitly-allowed names.
|
||||||
if ignore_names.matches(name) {
|
if ignore_names.matches(name) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
source: crates/ruff_linter/src/rules/pep8_naming/mod.rs
|
source: crates/ruff_linter/src/rules/pep8_naming/mod.rs
|
||||||
snapshot_kind: text
|
|
||||||
---
|
---
|
||||||
N801.py:1:7: N801 Class name `bad` should use CapWords convention
|
N801.py:1:7: N801 Class name `bad` should use CapWords convention
|
||||||
|
|
|
|
||||||
|
|
@ -16,23 +15,41 @@ N801.py:5:7: N801 Class name `_bad` should use CapWords convention
|
||||||
6 | pass
|
6 | pass
|
||||||
|
|
|
|
||||||
|
|
||||||
N801.py:9:7: N801 Class name `bad_class` should use CapWords convention
|
N801.py:9:7: N801 Class name `__bad` should use CapWords convention
|
||||||
|
|
|
|
||||||
9 | class bad_class:
|
9 | class __bad:
|
||||||
| ^^^^^^^^^ N801
|
| ^^^^^ N801
|
||||||
10 | pass
|
10 | pass
|
||||||
|
|
|
|
||||||
|
|
||||||
N801.py:13:7: N801 Class name `Bad_Class` should use CapWords convention
|
N801.py:13:7: N801 Class name `bad_class` should use CapWords convention
|
||||||
|
|
|
|
||||||
13 | class Bad_Class:
|
13 | class bad_class:
|
||||||
| ^^^^^^^^^ N801
|
| ^^^^^^^^^ N801
|
||||||
14 | pass
|
14 | pass
|
||||||
|
|
|
|
||||||
|
|
||||||
N801.py:17:7: N801 Class name `BAD_CLASS` should use CapWords convention
|
N801.py:17:7: N801 Class name `Bad_Class` should use CapWords convention
|
||||||
|
|
|
|
||||||
17 | class BAD_CLASS:
|
17 | class Bad_Class:
|
||||||
| ^^^^^^^^^ N801
|
| ^^^^^^^^^ N801
|
||||||
18 | pass
|
18 | pass
|
||||||
|
|
|
|
||||||
|
|
||||||
|
N801.py:20:7: N801 Class name `Bad__Class` should use CapWords convention
|
||||||
|
|
|
||||||
|
18 | pass
|
||||||
|
19 |
|
||||||
|
20 | class Bad__Class:
|
||||||
|
| ^^^^^^^^^^ N801
|
||||||
|
21 | pass
|
||||||
|
|
|
||||||
|
|
||||||
|
N801.py:23:7: N801 Class name `BAD_CLASS` should use CapWords convention
|
||||||
|
|
|
||||||
|
21 | pass
|
||||||
|
22 |
|
||||||
|
23 | class BAD_CLASS:
|
||||||
|
| ^^^^^^^^^ N801
|
||||||
|
24 | pass
|
||||||
|
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue