@@ -71,6 +71,20 @@ import os
71
71
r"
72
72
# Copyright (C) 2021-2023
73
73
74
+ import os
75
+ "
76
+ . trim ( ) ,
77
+ & settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] ) ,
78
+ ) ;
79
+ assert_messages ! ( diagnostics) ;
80
+ }
81
+
82
+ #[ test]
83
+ fn notice_with_comma ( ) {
84
+ let diagnostics = test_snippet (
85
+ r"
86
+ # Copyright (C) 2021, 2022
87
+
74
88
import os
75
89
"
76
90
. trim ( ) ,
@@ -85,6 +99,126 @@ import os
85
99
r"
86
100
# Copyright (C) 2023 Ruff
87
101
102
+ import os
103
+ "
104
+ . trim ( ) ,
105
+ & settings:: LinterSettings {
106
+ flake8_copyright : super :: settings:: Settings {
107
+ author : Some ( "Ruff" . to_string ( ) ) ,
108
+ ..super :: settings:: Settings :: default ( )
109
+ } ,
110
+ ..settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] )
111
+ } ,
112
+ ) ;
113
+ assert_messages ! ( diagnostics) ;
114
+ }
115
+
116
+ #[ test]
117
+ fn valid_author_with_dash ( ) {
118
+ let diagnostics = test_snippet (
119
+ r"
120
+ # Copyright (C) 2022-2023 Ruff
121
+
122
+ import os
123
+ "
124
+ . trim ( ) ,
125
+ & settings:: LinterSettings {
126
+ flake8_copyright : super :: settings:: Settings {
127
+ author : Some ( "Ruff" . to_string ( ) ) ,
128
+ ..super :: settings:: Settings :: default ( )
129
+ } ,
130
+ ..settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] )
131
+ } ,
132
+ ) ;
133
+ assert_messages ! ( diagnostics) ;
134
+ }
135
+
136
+ #[ test]
137
+ fn valid_author_with_dash_invalid_space ( ) {
138
+ let diagnostics = test_snippet (
139
+ r"
140
+ # Copyright (C) 2022- 2023 Ruff
141
+
142
+ import os
143
+ "
144
+ . trim ( ) ,
145
+ & settings:: LinterSettings {
146
+ flake8_copyright : super :: settings:: Settings {
147
+ author : Some ( "Ruff" . to_string ( ) ) ,
148
+ ..super :: settings:: Settings :: default ( )
149
+ } ,
150
+ ..settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] )
151
+ } ,
152
+ ) ;
153
+ assert_messages ! ( diagnostics) ;
154
+ }
155
+
156
+ #[ test]
157
+ fn valid_author_with_dash_invalid_spaces ( ) {
158
+ let diagnostics = test_snippet (
159
+ r"
160
+ # Copyright (C) 2022 - 2023 Ruff
161
+
162
+ import os
163
+ "
164
+ . trim ( ) ,
165
+ & settings:: LinterSettings {
166
+ flake8_copyright : super :: settings:: Settings {
167
+ author : Some ( "Ruff" . to_string ( ) ) ,
168
+ ..super :: settings:: Settings :: default ( )
169
+ } ,
170
+ ..settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] )
171
+ } ,
172
+ ) ;
173
+ assert_messages ! ( diagnostics) ;
174
+ }
175
+
176
+ #[ test]
177
+ fn valid_author_with_comma_invalid_no_space ( ) {
178
+ let diagnostics = test_snippet (
179
+ r"
180
+ # Copyright (C) 2022,2023 Ruff
181
+
182
+ import os
183
+ "
184
+ . trim ( ) ,
185
+ & settings:: LinterSettings {
186
+ flake8_copyright : super :: settings:: Settings {
187
+ author : Some ( "Ruff" . to_string ( ) ) ,
188
+ ..super :: settings:: Settings :: default ( )
189
+ } ,
190
+ ..settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] )
191
+ } ,
192
+ ) ;
193
+ assert_messages ! ( diagnostics) ;
194
+ }
195
+
196
+ #[ test]
197
+ fn valid_author_with_comma_invalid_spaces ( ) {
198
+ let diagnostics = test_snippet (
199
+ r"
200
+ # Copyright (C) 2022 , 2023 Ruff
201
+
202
+ import os
203
+ "
204
+ . trim ( ) ,
205
+ & settings:: LinterSettings {
206
+ flake8_copyright : super :: settings:: Settings {
207
+ author : Some ( "Ruff" . to_string ( ) ) ,
208
+ ..super :: settings:: Settings :: default ( )
209
+ } ,
210
+ ..settings:: LinterSettings :: for_rules ( vec ! [ Rule :: MissingCopyrightNotice ] )
211
+ } ,
212
+ ) ;
213
+ assert_messages ! ( diagnostics) ;
214
+ }
215
+
216
+ #[ test]
217
+ fn valid_author_with_comma_valid_space ( ) {
218
+ let diagnostics = test_snippet (
219
+ r"
220
+ # Copyright (C) 2022, 2023 Ruff
221
+
88
222
import os
89
223
"
90
224
. trim ( ) ,
0 commit comments