tsumanne 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +32 -0
  4. data/.ruby-version +1 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +31 -0
  7. data/Rakefile +45 -0
  8. data/lib/tsumanne/version.rb +7 -0
  9. data/lib/tsumanne.rb +128 -0
  10. data/sorbet/config +4 -0
  11. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  12. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  13. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  14. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  15. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  16. data/sorbet/rbi/gems/ffi-compiler@1.0.1.rbi +206 -0
  17. data/sorbet/rbi/gems/ffi@1.15.5.rbi +1994 -0
  18. data/sorbet/rbi/gems/http-parser@1.2.3.rbi +422 -0
  19. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  20. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  21. data/sorbet/rbi/gems/mhtml@0.1.6.rbi +353 -0
  22. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  23. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  24. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  25. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  26. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  27. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  28. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  29. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2967 -0
  30. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  31. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  32. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  33. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  34. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  35. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  36. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  37. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +7144 -0
  38. data/sorbet/rbi/gems/rubocop-capybara@2.18.0.rbi +827 -0
  39. data/sorbet/rbi/gems/rubocop-factory_bot@2.23.1.rbi +812 -0
  40. data/sorbet/rbi/gems/rubocop-performance@1.19.0.rbi +3157 -0
  41. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +328 -0
  42. data/sorbet/rbi/gems/rubocop-rspec@2.23.2.rbi +7691 -0
  43. data/sorbet/rbi/gems/rubocop-sorbet@0.7.3.rbi +1226 -0
  44. data/sorbet/rbi/gems/rubocop@1.56.2.rbi +56541 -0
  45. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  46. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3199 -0
  47. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  48. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3329 -0
  49. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  50. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  51. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  52. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +425 -0
  53. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  54. data/sorbet/tapioca/config.yml +13 -0
  55. data/sorbet/tapioca/require.rb +4 -0
  56. metadata +254 -0
@@ -0,0 +1,827 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rubocop-capybara` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rubocop-capybara`.
6
+
7
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#3
8
+ module RuboCop; end
9
+
10
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#4
11
+ module RuboCop::Cop; end
12
+
13
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#5
14
+ module RuboCop::Cop::Capybara; end
15
+
16
+ # Help methods for capybara.
17
+ #
18
+ # @api private
19
+ #
20
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#8
21
+ module RuboCop::Cop::Capybara::CapybaraHelp
22
+ private
23
+
24
+ # @api private
25
+ # @example
26
+ # common_attributes?('a[focused]') # => true
27
+ # common_attributes?('button[focused][visible]') # => true
28
+ # common_attributes?('table[id=some-id]') # => true
29
+ # common_attributes?('h1[invalid]') # => false
30
+ # @param selector [String]
31
+ # @return [Boolean]
32
+ #
33
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#61
34
+ def common_attributes?(selector); end
35
+
36
+ # @api private
37
+ # @param node [RuboCop::AST::SendNode]
38
+ # @param option [Symbol]
39
+ # @return [Boolean]
40
+ #
41
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#125
42
+ def include_option?(node, option); end
43
+
44
+ # @api private
45
+ # @example
46
+ # replaceable_attributes?('table[id=some-id]') # => true
47
+ # replaceable_attributes?('a[focused]') # => false
48
+ # @param attrs [Array<String>]
49
+ # @return [Boolean]
50
+ #
51
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#70
52
+ def replaceable_attributes?(attrs); end
53
+
54
+ # @api private
55
+ # @param node [RuboCop::AST::SendNode]
56
+ # @param element [String]
57
+ # @param attrs [Array<String>]
58
+ # @return [Boolean]
59
+ #
60
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#108
61
+ def replaceable_element?(node, element, attrs); end
62
+
63
+ # @api private
64
+ # @param node [RuboCop::AST::SendNode]
65
+ # @param locator [String]
66
+ # @param element [String]
67
+ # @return [Boolean]
68
+ #
69
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#45
70
+ def replaceable_option?(node, locator, element); end
71
+
72
+ # @api private
73
+ # @param pseudo_class [String]
74
+ # @param locator [String]
75
+ # @return [Boolean]
76
+ #
77
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#85
78
+ def replaceable_pseudo_class?(pseudo_class, locator); end
79
+
80
+ # @api private
81
+ # @param locator [String]
82
+ # @return [Boolean]
83
+ #
84
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#96
85
+ def replaceable_pseudo_class_not?(locator); end
86
+
87
+ # @api private
88
+ # @param locator [String]
89
+ # @return [Boolean]
90
+ #
91
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#76
92
+ def replaceable_pseudo_classes?(locator); end
93
+
94
+ # @api private
95
+ # @param node [RuboCop::AST::SendNode]
96
+ # @param attrs [Array<String>]
97
+ # @return [Boolean]
98
+ #
99
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#118
100
+ def replaceable_to_link?(node, attrs); end
101
+
102
+ class << self
103
+ # @api private
104
+ # @example
105
+ # common_attributes?('a[focused]') # => true
106
+ # common_attributes?('button[focused][visible]') # => true
107
+ # common_attributes?('table[id=some-id]') # => true
108
+ # common_attributes?('h1[invalid]') # => false
109
+ # @param selector [String]
110
+ # @return [Boolean]
111
+ #
112
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#61
113
+ def common_attributes?(selector); end
114
+
115
+ # @api private
116
+ # @param node [RuboCop::AST::SendNode]
117
+ # @param option [Symbol]
118
+ # @return [Boolean]
119
+ #
120
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#125
121
+ def include_option?(node, option); end
122
+
123
+ # @api private
124
+ # @example
125
+ # replaceable_attributes?('table[id=some-id]') # => true
126
+ # replaceable_attributes?('a[focused]') # => false
127
+ # @param attrs [Array<String>]
128
+ # @return [Boolean]
129
+ #
130
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#70
131
+ def replaceable_attributes?(attrs); end
132
+
133
+ # @api private
134
+ # @param node [RuboCop::AST::SendNode]
135
+ # @param element [String]
136
+ # @param attrs [Array<String>]
137
+ # @return [Boolean]
138
+ #
139
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#108
140
+ def replaceable_element?(node, element, attrs); end
141
+
142
+ # @api private
143
+ # @param node [RuboCop::AST::SendNode]
144
+ # @param locator [String]
145
+ # @param element [String]
146
+ # @return [Boolean]
147
+ #
148
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#45
149
+ def replaceable_option?(node, locator, element); end
150
+
151
+ # @api private
152
+ # @param pseudo_class [String]
153
+ # @param locator [String]
154
+ # @return [Boolean]
155
+ #
156
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#85
157
+ def replaceable_pseudo_class?(pseudo_class, locator); end
158
+
159
+ # @api private
160
+ # @param locator [String]
161
+ # @return [Boolean]
162
+ #
163
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#96
164
+ def replaceable_pseudo_class_not?(locator); end
165
+
166
+ # @api private
167
+ # @param locator [String]
168
+ # @return [Boolean]
169
+ #
170
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#76
171
+ def replaceable_pseudo_classes?(locator); end
172
+
173
+ # @api private
174
+ # @param node [RuboCop::AST::SendNode]
175
+ # @param attrs [Array<String>]
176
+ # @return [Boolean]
177
+ #
178
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#118
179
+ def replaceable_to_link?(node, attrs); end
180
+ end
181
+ end
182
+
183
+ # @api private
184
+ #
185
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#9
186
+ RuboCop::Cop::Capybara::CapybaraHelp::COMMON_OPTIONS = T.let(T.unsafe(nil), Array)
187
+
188
+ # @api private
189
+ #
190
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#12
191
+ RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_OPTIONS = T.let(T.unsafe(nil), Hash)
192
+
193
+ # @api private
194
+ #
195
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#35
196
+ RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_PSEUDO_CLASSES = T.let(T.unsafe(nil), Array)
197
+
198
+ # Helps parsing css selector.
199
+ #
200
+ # @api private
201
+ #
202
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#8
203
+ module RuboCop::Cop::Capybara::CssSelector
204
+ private
205
+
206
+ # @api private
207
+ # @example
208
+ # attribute?('[attribute]') # => true
209
+ # attribute?('attribute') # => false
210
+ # @param selector [String]
211
+ # @return [Boolean]
212
+ #
213
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#48
214
+ def attribute?(selector); end
215
+
216
+ # @api private
217
+ # @example
218
+ # attributes('a[foo-bar_baz]') # => {"foo-bar_baz=>nil}
219
+ # attributes('button[foo][bar=baz]') # => {"foo"=>nil, "bar"=>"'baz'"}
220
+ # attributes('table[foo=bar]') # => {"foo"=>"'bar'"}
221
+ # @param selector [String]
222
+ # @return [Array<String>]
223
+ #
224
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#58
225
+ def attributes(selector); end
226
+
227
+ # @api private
228
+ # @example
229
+ # classes('#some-id') # => []
230
+ # classes('.some-cls') # => ['some-cls']
231
+ # classes('#some-id.some-cls') # => ['some-cls']
232
+ # classes('#some-id.cls1.cls2') # => ['cls1', 'cls2']
233
+ # @param selector [String]
234
+ # @return [Array<String>]
235
+ #
236
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#39
237
+ def classes(selector); end
238
+
239
+ # @api private
240
+ # @example
241
+ # id('#some-id') # => some-id
242
+ # id('.some-cls') # => nil
243
+ # id('#some-id.cls') # => some-id
244
+ # @param selector [String]
245
+ # @return [String]
246
+ #
247
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#17
248
+ def id(selector); end
249
+
250
+ # @api private
251
+ # @example
252
+ # id?('#some-id') # => true
253
+ # id?('.some-cls') # => false
254
+ # @param selector [String]
255
+ # @return [Boolean]
256
+ #
257
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#28
258
+ def id?(selector); end
259
+
260
+ # @api private
261
+ # @example
262
+ # multiple_selectors?('a.cls b#id') # => true
263
+ # multiple_selectors?('a.cls') # => false
264
+ # @param selector [String]
265
+ # @return [Boolean]
266
+ #
267
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#88
268
+ def multiple_selectors?(selector); end
269
+
270
+ # @api private
271
+ # @example
272
+ # normalize_value('true') # => true
273
+ # normalize_value('false') # => false
274
+ # normalize_value(nil) # => nil
275
+ # normalize_value("foo") # => "'foo'"
276
+ # @param value [String]
277
+ # @return [Boolean, String]
278
+ #
279
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#100
280
+ def normalize_value(value); end
281
+
282
+ # @api private
283
+ # @example
284
+ # pseudo_classes('button:not([disabled])') # => ['not()']
285
+ # pseudo_classes('a:enabled:not([valid])') # => ['enabled', 'not()']
286
+ # @param selector [String]
287
+ # @return [Array<String>]
288
+ #
289
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#74
290
+ def pseudo_classes(selector); end
291
+
292
+ class << self
293
+ # @api private
294
+ # @example
295
+ # attribute?('[attribute]') # => true
296
+ # attribute?('attribute') # => false
297
+ # @param selector [String]
298
+ # @return [Boolean]
299
+ #
300
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#48
301
+ def attribute?(selector); end
302
+
303
+ # @api private
304
+ # @example
305
+ # attributes('a[foo-bar_baz]') # => {"foo-bar_baz=>nil}
306
+ # attributes('button[foo][bar=baz]') # => {"foo"=>nil, "bar"=>"'baz'"}
307
+ # attributes('table[foo=bar]') # => {"foo"=>"'bar'"}
308
+ # @param selector [String]
309
+ # @return [Array<String>]
310
+ #
311
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#58
312
+ def attributes(selector); end
313
+
314
+ # @api private
315
+ # @example
316
+ # classes('#some-id') # => []
317
+ # classes('.some-cls') # => ['some-cls']
318
+ # classes('#some-id.some-cls') # => ['some-cls']
319
+ # classes('#some-id.cls1.cls2') # => ['cls1', 'cls2']
320
+ # @param selector [String]
321
+ # @return [Array<String>]
322
+ #
323
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#39
324
+ def classes(selector); end
325
+
326
+ # @api private
327
+ # @example
328
+ # id('#some-id') # => some-id
329
+ # id('.some-cls') # => nil
330
+ # id('#some-id.cls') # => some-id
331
+ # @param selector [String]
332
+ # @return [String]
333
+ #
334
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#17
335
+ def id(selector); end
336
+
337
+ # @api private
338
+ # @example
339
+ # id?('#some-id') # => true
340
+ # id?('.some-cls') # => false
341
+ # @param selector [String]
342
+ # @return [Boolean]
343
+ #
344
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#28
345
+ def id?(selector); end
346
+
347
+ # @api private
348
+ # @example
349
+ # multiple_selectors?('a.cls b#id') # => true
350
+ # multiple_selectors?('a.cls') # => false
351
+ # @param selector [String]
352
+ # @return [Boolean]
353
+ #
354
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#88
355
+ def multiple_selectors?(selector); end
356
+
357
+ # @api private
358
+ # @example
359
+ # normalize_value('true') # => true
360
+ # normalize_value('false') # => false
361
+ # normalize_value(nil) # => nil
362
+ # normalize_value("foo") # => "'foo'"
363
+ # @param value [String]
364
+ # @return [Boolean, String]
365
+ #
366
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#100
367
+ def normalize_value(value); end
368
+
369
+ # @api private
370
+ # @example
371
+ # pseudo_classes('button:not([disabled])') # => ['not()']
372
+ # pseudo_classes('a:enabled:not([valid])') # => ['enabled', 'not()']
373
+ # @param selector [String]
374
+ # @return [Array<String>]
375
+ #
376
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#74
377
+ def pseudo_classes(selector); end
378
+ end
379
+ end
380
+
381
+ # Checks that no expectations are set on Capybara's `current_path`.
382
+ #
383
+ # The
384
+ # https://www.rubydoc.info/github/teamcapybara/capybara/master/Capybara/RSpecMatchers#have_current_path-instance_method[`have_current_path` matcher]
385
+ # should be used on `page` to set expectations on Capybara's
386
+ # current path, since it uses
387
+ # https://github.com/teamcapybara/capybara/blob/master/README.md#asynchronous-javascript-ajax-and-friends[Capybara's waiting functionality]
388
+ # which ensures that preceding actions (like `click_link`) have
389
+ # completed.
390
+ #
391
+ # This cop does not support autocorrection in some cases.
392
+ #
393
+ # @example
394
+ # # bad
395
+ # expect(current_path).to eq('/callback')
396
+ #
397
+ # # good
398
+ # expect(page).to have_current_path('/callback')
399
+ #
400
+ # # bad (does not support autocorrection)
401
+ # expect(page.current_path).to match(variable)
402
+ #
403
+ # # good
404
+ # expect(page).to have_current_path('/callback')
405
+ #
406
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#31
407
+ class RuboCop::Cop::Capybara::CurrentPathExpectation < ::RuboCop::Cop::Base
408
+ include ::RuboCop::Cop::RangeHelp
409
+ extend ::RuboCop::Cop::AutoCorrector
410
+
411
+ # Supported matchers: eq(...) / match(/regexp/) / match('regexp')
412
+ #
413
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#48
414
+ def as_is_matcher(param0 = T.unsafe(nil)); end
415
+
416
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#42
417
+ def expectation_set_on_current_path(param0 = T.unsafe(nil)); end
418
+
419
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#65
420
+ def on_send(node); end
421
+
422
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#55
423
+ def regexp_node_matcher(param0 = T.unsafe(nil)); end
424
+
425
+ private
426
+
427
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#115
428
+ def add_argument_parentheses(corrector, arg_node); end
429
+
430
+ # `have_current_path` with no options will include the querystring
431
+ # while `page.current_path` does not.
432
+ # This ensures the option `ignore_query: true` is added
433
+ # except when the expectation is a regexp or string
434
+ #
435
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#133
436
+ def add_ignore_query_options(corrector, node); end
437
+
438
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#77
439
+ def autocorrect(corrector, node); end
440
+
441
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#101
442
+ def convert_regexp_node_to_literal(corrector, matcher_node, regexp_node); end
443
+
444
+ # @return [Boolean]
445
+ #
446
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#125
447
+ def method_call_with_no_parentheses?(arg_node); end
448
+
449
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#107
450
+ def regexp_node_to_regexp_expr(regexp_node); end
451
+
452
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#88
453
+ def rewrite_expectation(corrector, node, to_symbol, matcher_node); end
454
+
455
+ class << self
456
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#61
457
+ def autocorrect_incompatible_with; end
458
+ end
459
+ end
460
+
461
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#35
462
+ RuboCop::Cop::Capybara::CurrentPathExpectation::MSG = T.let(T.unsafe(nil), String)
463
+
464
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#39
465
+ RuboCop::Cop::Capybara::CurrentPathExpectation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
466
+
467
+ # Checks for usage of deprecated style methods.
468
+ #
469
+ # @example when using `assert_style`
470
+ # # bad
471
+ # page.find(:css, '#first').assert_style(display: 'block')
472
+ #
473
+ # # good
474
+ # page.find(:css, '#first').assert_matches_style(display: 'block')
475
+ # @example when using `has_style?`
476
+ # # bad
477
+ # expect(page.find(:css, 'first')
478
+ # .has_style?(display: 'block')).to be true
479
+ #
480
+ # # good
481
+ # expect(page.find(:css, 'first')
482
+ # .matches_style?(display: 'block')).to be true
483
+ # @example when using `have_style`
484
+ # # bad
485
+ # expect(page).to have_style(display: 'block')
486
+ #
487
+ # # good
488
+ # expect(page).to match_style(display: 'block')
489
+ #
490
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#31
491
+ class RuboCop::Cop::Capybara::MatchStyle < ::RuboCop::Cop::Base
492
+ extend ::RuboCop::Cop::AutoCorrector
493
+
494
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#42
495
+ def on_send(node); end
496
+
497
+ private
498
+
499
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#52
500
+ def message(node); end
501
+ end
502
+
503
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#34
504
+ RuboCop::Cop::Capybara::MatchStyle::MSG = T.let(T.unsafe(nil), String)
505
+
506
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#36
507
+ RuboCop::Cop::Capybara::MatchStyle::PREFERRED_METHOD = T.let(T.unsafe(nil), Hash)
508
+
509
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#35
510
+ RuboCop::Cop::Capybara::MatchStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
511
+
512
+ # Enforces use of `have_no_*` or `not_to` for negated expectations.
513
+ #
514
+ # @example EnforcedStyle: not_to (default)
515
+ # # bad
516
+ # expect(page).to have_no_selector
517
+ # expect(page).to have_no_css('a')
518
+ #
519
+ # # good
520
+ # expect(page).not_to have_selector
521
+ # expect(page).not_to have_css('a')
522
+ # @example EnforcedStyle: have_no
523
+ # # bad
524
+ # expect(page).not_to have_selector
525
+ # expect(page).not_to have_css('a')
526
+ #
527
+ # # good
528
+ # expect(page).to have_no_selector
529
+ # expect(page).to have_no_css('a')
530
+ #
531
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#26
532
+ class RuboCop::Cop::Capybara::NegationMatcher < ::RuboCop::Cop::Base
533
+ include ::RuboCop::Cop::ConfigurableEnforcedStyle
534
+ extend ::RuboCop::Cop::AutoCorrector
535
+
536
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#50
537
+ def have_no?(param0 = T.unsafe(nil)); end
538
+
539
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#44
540
+ def not_to?(param0 = T.unsafe(nil)); end
541
+
542
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#55
543
+ def on_send(node); end
544
+
545
+ private
546
+
547
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#78
548
+ def message(matcher); end
549
+
550
+ # @return [Boolean]
551
+ #
552
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#69
553
+ def offense?(node); end
554
+
555
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#74
556
+ def offense_range(node); end
557
+
558
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#93
559
+ def replaced_matcher(matcher); end
560
+
561
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#84
562
+ def replaced_runner; end
563
+ end
564
+
565
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#31
566
+ RuboCop::Cop::Capybara::NegationMatcher::CAPYBARA_MATCHERS = T.let(T.unsafe(nil), Array)
567
+
568
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#30
569
+ RuboCop::Cop::Capybara::NegationMatcher::MSG = T.let(T.unsafe(nil), String)
570
+
571
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#38
572
+ RuboCop::Cop::Capybara::NegationMatcher::NEGATIVE_MATCHERS = T.let(T.unsafe(nil), Set)
573
+
574
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#36
575
+ RuboCop::Cop::Capybara::NegationMatcher::POSITIVE_MATCHERS = T.let(T.unsafe(nil), Set)
576
+
577
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#41
578
+ RuboCop::Cop::Capybara::NegationMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)
579
+
580
+ # Checks for there is a more specific actions offered by Capybara.
581
+ #
582
+ # @example
583
+ #
584
+ # # bad
585
+ # find('a').click
586
+ # find('button.cls').click
587
+ # find('a', exact_text: 'foo').click
588
+ # find('div button').click
589
+ #
590
+ # # good
591
+ # click_link
592
+ # click_button(class: 'cls')
593
+ # click_link(exact_text: 'foo')
594
+ # find('div').click_button
595
+ #
596
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#22
597
+ class RuboCop::Cop::Capybara::SpecificActions < ::RuboCop::Cop::Base
598
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#31
599
+ def click_on_selector(param0 = T.unsafe(nil)); end
600
+
601
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#35
602
+ def on_send(node); end
603
+
604
+ private
605
+
606
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#87
607
+ def good_action(action); end
608
+
609
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#73
610
+ def last_selector(arg); end
611
+
612
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#81
613
+ def message(action, selector); end
614
+
615
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#77
616
+ def offense_range(node, receiver); end
617
+
618
+ # @return [Boolean]
619
+ #
620
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#57
621
+ def replaceable?(node, arg, action); end
622
+
623
+ # @return [Boolean]
624
+ #
625
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#63
626
+ def replaceable_attributes?(selector); end
627
+
628
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#53
629
+ def specific_action(selector); end
630
+
631
+ # @return [Boolean]
632
+ #
633
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#69
634
+ def supported_selector?(selector); end
635
+ end
636
+
637
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#23
638
+ RuboCop::Cop::Capybara::SpecificActions::MSG = T.let(T.unsafe(nil), String)
639
+
640
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#24
641
+ RuboCop::Cop::Capybara::SpecificActions::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
642
+
643
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#25
644
+ RuboCop::Cop::Capybara::SpecificActions::SPECIFIC_ACTION = T.let(T.unsafe(nil), Hash)
645
+
646
+ # Checks if there is a more specific finder offered by Capybara.
647
+ #
648
+ # @example
649
+ # # bad
650
+ # find('#some-id')
651
+ # find('[visible][id=some-id]')
652
+ #
653
+ # # good
654
+ # find_by_id('some-id')
655
+ # find_by_id('some-id', visible: true)
656
+ #
657
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#17
658
+ class RuboCop::Cop::Capybara::SpecificFinders < ::RuboCop::Cop::Base
659
+ include ::RuboCop::Cop::RangeHelp
660
+ extend ::RuboCop::Cop::AutoCorrector
661
+
662
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#31
663
+ def class_options(param0); end
664
+
665
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#26
666
+ def find_argument(param0 = T.unsafe(nil)); end
667
+
668
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#35
669
+ def on_send(node); end
670
+
671
+ private
672
+
673
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#89
674
+ def append_options(classes, options); end
675
+
676
+ # @return [Boolean]
677
+ #
678
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#63
679
+ def attribute?(arg); end
680
+
681
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#79
682
+ def autocorrect_classes(corrector, node, classes); end
683
+
684
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#116
685
+ def end_pos(node); end
686
+
687
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#94
688
+ def keyword_argument_class(classes); end
689
+
690
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#112
691
+ def offense_range(node); end
692
+
693
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#47
694
+ def on_attr(node, arg); end
695
+
696
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#55
697
+ def on_id(node, arg); end
698
+
699
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#68
700
+ def register_offense(node, id, classes = T.unsafe(nil)); end
701
+
702
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#99
703
+ def replaced_arguments(arg, id); end
704
+
705
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#104
706
+ def to_options(attrs); end
707
+ end
708
+
709
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#22
710
+ RuboCop::Cop::Capybara::SpecificFinders::MSG = T.let(T.unsafe(nil), String)
711
+
712
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#23
713
+ RuboCop::Cop::Capybara::SpecificFinders::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
714
+
715
+ # Checks for there is a more specific matcher offered by Capybara.
716
+ #
717
+ # @example
718
+ #
719
+ # # bad
720
+ # expect(page).to have_selector('button')
721
+ # expect(page).to have_no_selector('button.cls')
722
+ # expect(page).to have_css('button')
723
+ # expect(page).to have_no_css('a.cls', href: 'http://example.com')
724
+ # expect(page).to have_css('table.cls')
725
+ # expect(page).to have_css('select')
726
+ # expect(page).to have_css('input', exact_text: 'foo')
727
+ #
728
+ # # good
729
+ # expect(page).to have_button
730
+ # expect(page).to have_no_button(class: 'cls')
731
+ # expect(page).to have_button
732
+ # expect(page).to have_no_link('foo', class: 'cls', href: 'http://example.com')
733
+ # expect(page).to have_table(class: 'cls')
734
+ # expect(page).to have_select
735
+ # expect(page).to have_field('foo')
736
+ #
737
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#28
738
+ class RuboCop::Cop::Capybara::SpecificMatcher < ::RuboCop::Cop::Base
739
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#41
740
+ def first_argument(param0 = T.unsafe(nil)); end
741
+
742
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#45
743
+ def on_send(node); end
744
+
745
+ private
746
+
747
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#80
748
+ def good_matcher(node, matcher); end
749
+
750
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#74
751
+ def message(node, matcher); end
752
+
753
+ # @return [Boolean]
754
+ #
755
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#62
756
+ def replaceable?(node, arg, matcher); end
757
+
758
+ # @return [Boolean]
759
+ #
760
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#68
761
+ def replaceable_attributes?(selector); end
762
+
763
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#57
764
+ def specific_matcher(arg); end
765
+ end
766
+
767
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#29
768
+ RuboCop::Cop::Capybara::SpecificMatcher::MSG = T.let(T.unsafe(nil), String)
769
+
770
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#30
771
+ RuboCop::Cop::Capybara::SpecificMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
772
+
773
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#32
774
+ RuboCop::Cop::Capybara::SpecificMatcher::SPECIFIC_MATCHER = T.let(T.unsafe(nil), Hash)
775
+
776
+ # Checks for boolean visibility in Capybara finders.
777
+ #
778
+ # Capybara lets you find elements that match a certain visibility using
779
+ # the `:visible` option. `:visible` accepts both boolean and symbols as
780
+ # values, however using booleans can have unwanted effects. `visible:
781
+ # false` does not find just invisible elements, but both visible and
782
+ # invisible elements. For expressiveness and clarity, use one of the
783
+ # symbol values, `:all`, `:hidden` or `:visible`.
784
+ # Read more in
785
+ # https://www.rubydoc.info/gems/capybara/Capybara%2FNode%2FFinders:all[the documentation].
786
+ #
787
+ # @example
788
+ # # bad
789
+ # expect(page).to have_selector('.foo', visible: false)
790
+ # expect(page).to have_css('.foo', visible: true)
791
+ # expect(page).to have_link('my link', visible: false)
792
+ #
793
+ # # good
794
+ # expect(page).to have_selector('.foo', visible: :visible)
795
+ # expect(page).to have_css('.foo', visible: :all)
796
+ # expect(page).to have_link('my link', visible: :hidden)
797
+ #
798
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#28
799
+ class RuboCop::Cop::Capybara::VisibilityMatcher < ::RuboCop::Cop::Base
800
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#58
801
+ def on_send(node); end
802
+
803
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#54
804
+ def visible_false?(param0 = T.unsafe(nil)); end
805
+
806
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#49
807
+ def visible_true?(param0 = T.unsafe(nil)); end
808
+
809
+ private
810
+
811
+ # @return [Boolean]
812
+ #
813
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#65
814
+ def capybara_matcher?(method_name); end
815
+ end
816
+
817
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#31
818
+ RuboCop::Cop::Capybara::VisibilityMatcher::CAPYBARA_MATCHER_METHODS = T.let(T.unsafe(nil), Array)
819
+
820
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#29
821
+ RuboCop::Cop::Capybara::VisibilityMatcher::MSG_FALSE = T.let(T.unsafe(nil), String)
822
+
823
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#30
824
+ RuboCop::Cop::Capybara::VisibilityMatcher::MSG_TRUE = T.let(T.unsafe(nil), String)
825
+
826
+ # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#46
827
+ RuboCop::Cop::Capybara::VisibilityMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)