mangrove 0.31.0 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/README.md +131 -41
  4. data/lib/mangrove/result/ext.rb +18 -0
  5. data/lib/mangrove/result.rb +51 -0
  6. data/lib/mangrove/version.rb +1 -1
  7. data/lib/tapioca/dsl/compilers/mangrove_result_ext.rb +40 -0
  8. data/sorbet/config +1 -0
  9. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  10. data/sorbet/rbi/gems/date@3.4.1.rbi +75 -0
  11. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +2 -1
  12. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.1.rbi} +26 -17
  13. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.9.1.rbi} +516 -134
  14. data/sorbet/rbi/gems/logger@1.6.5.rbi +940 -0
  15. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.26.3.rbi} +31 -21
  16. data/sorbet/rbi/gems/{parser@3.3.2.0.rbi → parser@3.3.7.0.rbi} +23 -1736
  17. data/sorbet/rbi/gems/{prism@0.29.0.rbi → prism@1.3.0.rbi} +13817 -10401
  18. data/sorbet/rbi/gems/{psych@5.1.2.rbi → psych@5.2.3.rbi} +289 -236
  19. data/sorbet/rbi/gems/{racc@1.8.0.rbi → racc@1.8.1.rbi} +0 -4
  20. data/sorbet/rbi/gems/rbi@0.2.3.rbi +4542 -0
  21. data/sorbet/rbi/gems/rbs@3.8.1.rbi +6882 -0
  22. data/sorbet/rbi/gems/{rdoc@6.7.0.rbi → rdoc@6.11.0.rbi} +1115 -1058
  23. data/sorbet/rbi/gems/{regexp_parser@2.9.2.rbi → regexp_parser@2.10.0.rbi} +193 -170
  24. data/sorbet/rbi/gems/{rspec-core@3.13.0.rbi → rspec-core@3.13.2.rbi} +146 -280
  25. data/sorbet/rbi/gems/{rspec-expectations@3.13.0.rbi → rspec-expectations@3.13.3.rbi} +323 -294
  26. data/sorbet/rbi/gems/{rspec-mocks@3.13.1.rbi → rspec-mocks@3.13.2.rbi} +46 -46
  27. data/sorbet/rbi/gems/{rspec-support@3.13.1.rbi → rspec-support@3.13.2.rbi} +22 -22
  28. data/sorbet/rbi/gems/ruboclean@0.7.1.rbi +473 -0
  29. data/sorbet/rbi/gems/{rubocop-ast@1.31.3.rbi → rubocop-ast@1.37.0.rbi} +1293 -745
  30. data/sorbet/rbi/gems/{rubocop-rspec@2.30.0.rbi → rubocop-rspec@3.4.0.rbi} +341 -1073
  31. data/sorbet/rbi/gems/{rubocop@1.64.1.rbi → rubocop@1.70.0.rbi} +5693 -3796
  32. data/sorbet/rbi/gems/{simplecov-html@0.12.3.rbi → simplecov-html@0.13.1.rbi} +77 -68
  33. data/sorbet/rbi/gems/{spoom@1.3.2.rbi → spoom@1.5.1.rbi} +2306 -1701
  34. data/sorbet/rbi/gems/{stringio@3.1.0.rbi → stringio@3.1.2.rbi} +1 -0
  35. data/sorbet/rbi/gems/{tapioca@0.14.3.rbi → tapioca@0.16.8.rbi} +411 -332
  36. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.3.2.rbi} +57 -31
  37. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +132 -0
  38. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +251 -0
  39. data/sorbet/rbi/gems/{webrick@1.8.1.rbi → webrick@1.9.1.rbi} +92 -72
  40. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  41. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +393 -235
  42. metadata +41 -42
  43. data/sorbet/rbi/gems/rbi@0.1.13.rbi +0 -3078
  44. data/sorbet/rbi/gems/rexml@3.2.8.rbi +0 -4794
  45. data/sorbet/rbi/gems/ruboclean@0.6.0.rbi +0 -315
  46. data/sorbet/rbi/gems/rubocop-capybara@2.20.0.rbi +0 -1208
  47. data/sorbet/rbi/gems/rubocop-factory_bot@2.25.1.rbi +0 -928
  48. data/sorbet/rbi/gems/rubocop-rspec_rails@2.28.3.rbi +0 -911
  49. data/sorbet/rbi/gems/strscan@3.1.0.rbi +0 -9
  50. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  51. /data/sorbet/rbi/gems/{io-console@0.7.2.rbi → io-console@0.8.0.rbi} +0 -0
  52. /data/sorbet/rbi/gems/{reline@0.5.8.rbi → reline@0.6.0.rbi} +0 -0
  53. /data/sorbet/rbi/gems/{ruby-lsp@0.17.2.rbi → ruby-lsp@0.23.6.rbi} +0 -0
@@ -1,1208 +0,0 @@
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
-
8
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#3
9
- module RuboCop; end
10
-
11
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#4
12
- module RuboCop::Cop; end
13
-
14
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#5
15
- module RuboCop::Cop::Capybara; end
16
-
17
- # Help methods for capybara.
18
- #
19
- # @api private
20
- #
21
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#8
22
- module RuboCop::Cop::Capybara::CapybaraHelp
23
- private
24
-
25
- # @api private
26
- # @example
27
- # common_attributes?('a[focused]') # => true
28
- # common_attributes?('button[focused][visible]') # => true
29
- # common_attributes?('table[id=some-id]') # => true
30
- # common_attributes?('h1[invalid]') # => false
31
- # @param selector [String]
32
- # @return [Boolean]
33
- #
34
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#61
35
- def common_attributes?(selector); end
36
-
37
- # @api private
38
- # @param node [RuboCop::AST::SendNode]
39
- # @param option [Symbol]
40
- # @return [Boolean]
41
- #
42
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#125
43
- def include_option?(node, option); end
44
-
45
- # @api private
46
- # @example
47
- # replaceable_attributes?('table[id=some-id]') # => true
48
- # replaceable_attributes?('a[focused]') # => false
49
- # @param attrs [Array<String>]
50
- # @return [Boolean]
51
- #
52
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#70
53
- def replaceable_attributes?(attrs); end
54
-
55
- # @api private
56
- # @param node [RuboCop::AST::SendNode]
57
- # @param element [String]
58
- # @param attrs [Array<String>]
59
- # @return [Boolean]
60
- #
61
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#108
62
- def replaceable_element?(node, element, attrs); end
63
-
64
- # @api private
65
- # @param node [RuboCop::AST::SendNode]
66
- # @param locator [String]
67
- # @param element [String]
68
- # @return [Boolean]
69
- #
70
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#45
71
- def replaceable_option?(node, locator, element); end
72
-
73
- # @api private
74
- # @param pseudo_class [String]
75
- # @param locator [String]
76
- # @return [Boolean]
77
- #
78
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#85
79
- def replaceable_pseudo_class?(pseudo_class, locator); end
80
-
81
- # @api private
82
- # @param locator [String]
83
- # @return [Boolean]
84
- #
85
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#96
86
- def replaceable_pseudo_class_not?(locator); end
87
-
88
- # @api private
89
- # @param locator [String]
90
- # @return [Boolean]
91
- #
92
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#76
93
- def replaceable_pseudo_classes?(locator); end
94
-
95
- # @api private
96
- # @param node [RuboCop::AST::SendNode]
97
- # @param attrs [Array<String>]
98
- # @return [Boolean]
99
- #
100
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#118
101
- def replaceable_to_link?(node, attrs); end
102
-
103
- class << self
104
- # @api private
105
- # @example
106
- # common_attributes?('a[focused]') # => true
107
- # common_attributes?('button[focused][visible]') # => true
108
- # common_attributes?('table[id=some-id]') # => true
109
- # common_attributes?('h1[invalid]') # => false
110
- # @param selector [String]
111
- # @return [Boolean]
112
- #
113
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#61
114
- def common_attributes?(selector); end
115
-
116
- # @api private
117
- # @param node [RuboCop::AST::SendNode]
118
- # @param option [Symbol]
119
- # @return [Boolean]
120
- #
121
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#125
122
- def include_option?(node, option); end
123
-
124
- # @api private
125
- # @example
126
- # replaceable_attributes?('table[id=some-id]') # => true
127
- # replaceable_attributes?('a[focused]') # => false
128
- # @param attrs [Array<String>]
129
- # @return [Boolean]
130
- #
131
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#70
132
- def replaceable_attributes?(attrs); end
133
-
134
- # @api private
135
- # @param node [RuboCop::AST::SendNode]
136
- # @param element [String]
137
- # @param attrs [Array<String>]
138
- # @return [Boolean]
139
- #
140
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#108
141
- def replaceable_element?(node, element, attrs); end
142
-
143
- # @api private
144
- # @param node [RuboCop::AST::SendNode]
145
- # @param locator [String]
146
- # @param element [String]
147
- # @return [Boolean]
148
- #
149
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#45
150
- def replaceable_option?(node, locator, element); end
151
-
152
- # @api private
153
- # @param pseudo_class [String]
154
- # @param locator [String]
155
- # @return [Boolean]
156
- #
157
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#85
158
- def replaceable_pseudo_class?(pseudo_class, locator); end
159
-
160
- # @api private
161
- # @param locator [String]
162
- # @return [Boolean]
163
- #
164
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#96
165
- def replaceable_pseudo_class_not?(locator); end
166
-
167
- # @api private
168
- # @param locator [String]
169
- # @return [Boolean]
170
- #
171
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#76
172
- def replaceable_pseudo_classes?(locator); end
173
-
174
- # @api private
175
- # @param node [RuboCop::AST::SendNode]
176
- # @param attrs [Array<String>]
177
- # @return [Boolean]
178
- #
179
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#118
180
- def replaceable_to_link?(node, attrs); end
181
- end
182
- end
183
-
184
- # @api private
185
- #
186
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#9
187
- RuboCop::Cop::Capybara::CapybaraHelp::COMMON_OPTIONS = T.let(T.unsafe(nil), Array)
188
-
189
- # @api private
190
- #
191
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#12
192
- RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_OPTIONS = T.let(T.unsafe(nil), Hash)
193
-
194
- # @api private
195
- #
196
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/capybara_help.rb#35
197
- RuboCop::Cop::Capybara::CapybaraHelp::SPECIFIC_PSEUDO_CLASSES = T.let(T.unsafe(nil), Array)
198
-
199
- # Checks for methods of button or link clicks.
200
- #
201
- # By default, prefer to use `click_link_or_button` or `click_on`.
202
- # These methods offer a weaker coupling between the test and HTML,
203
- # allowing for a more faithful reflection of how the user behaves.
204
- #
205
- # You can set `EnforcedStyle: strict` to prefer the use of
206
- # `click_link` and `click_button`, but this is a deprecated setting.
207
- #
208
- # @example EnforcedStyle: link_or_button (default)
209
- # # bad
210
- # click_link('foo')
211
- # click_button('foo')
212
- #
213
- # # good
214
- # click_link_or_button('foo')
215
- # click_on('foo')
216
- # @example EnforcedStyle: strict
217
- # # bad
218
- # click_link_or_button('foo')
219
- # click_on('foo')
220
- #
221
- # # good
222
- # click_link('foo')
223
- # click_button('foo')
224
- #
225
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#33
226
- class RuboCop::Cop::Capybara::ClickLinkOrButtonStyle < ::RuboCop::Cop::Base
227
- include ::RuboCop::Cop::ConfigurableEnforcedStyle
228
-
229
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#44
230
- def on_send(node); end
231
-
232
- private
233
-
234
- # @return [Boolean]
235
- #
236
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#69
237
- def link_or_button_method?(node); end
238
-
239
- # @return [Boolean]
240
- #
241
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#52
242
- def offense?(node); end
243
-
244
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#57
245
- def offense_message(node); end
246
-
247
- # @return [Boolean]
248
- #
249
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#65
250
- def strict_method?(node); end
251
- end
252
-
253
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#41
254
- RuboCop::Cop::Capybara::ClickLinkOrButtonStyle::CLICK_LINK_OR_BUTTON = T.let(T.unsafe(nil), Array)
255
-
256
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#38
257
- RuboCop::Cop::Capybara::ClickLinkOrButtonStyle::MSG_CLICK_LINK_OR_BUTTON = T.let(T.unsafe(nil), String)
258
-
259
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#36
260
- RuboCop::Cop::Capybara::ClickLinkOrButtonStyle::MSG_STRICT = T.let(T.unsafe(nil), String)
261
-
262
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#42
263
- RuboCop::Cop::Capybara::ClickLinkOrButtonStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
264
-
265
- # source://rubocop-capybara//lib/rubocop/cop/capybara/click_link_or_button_style.rb#40
266
- RuboCop::Cop::Capybara::ClickLinkOrButtonStyle::STRICT_METHODS = T.let(T.unsafe(nil), Array)
267
-
268
- # Css selector parser.
269
- #
270
- # @api private
271
- #
272
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_attributes_parser.rb#8
273
- class RuboCop::Cop::Capybara::CssAttributesParser
274
- # @api private
275
- # @return [CssAttributesParser] a new instance of CssAttributesParser
276
- #
277
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_attributes_parser.rb#9
278
- def initialize(selector); end
279
-
280
- # @api private
281
- # @return [Array<String>]
282
- #
283
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_attributes_parser.rb#18
284
- def parse; end
285
-
286
- private
287
-
288
- # @api private
289
- # @example
290
- # normalize_value('true') # => true
291
- # normalize_value('false') # => false
292
- # normalize_value(nil) # => nil
293
- # normalize_value("foo") # => "'foo'"
294
- # @param value [String]
295
- # @return [Boolean, String]
296
- #
297
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_attributes_parser.rb#61
298
- def normalize_value(value); end
299
-
300
- # @api private
301
- #
302
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_attributes_parser.rb#42
303
- def on_bracket_end; end
304
-
305
- # @api private
306
- #
307
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_attributes_parser.rb#33
308
- def on_bracket_start; end
309
- end
310
-
311
- # Helps parsing css selector.
312
- #
313
- # @api private
314
- #
315
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#8
316
- module RuboCop::Cop::Capybara::CssSelector
317
- private
318
-
319
- # @api private
320
- # @example
321
- # attribute?('[attribute]') # => true
322
- # attribute?('attribute') # => false
323
- # @param selector [String]
324
- # @return [Boolean]
325
- #
326
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#48
327
- def attribute?(selector); end
328
-
329
- # @api private
330
- # @example
331
- # attributes('a[foo-bar_baz]') # => {"foo-bar_baz=>nil}
332
- # attributes('button[foo][bar=baz]') # => {"foo"=>nil, "bar"=>"'baz'"}
333
- # attributes('table[foo=bar]') # => {"foo"=>"'bar'"}
334
- # attributes('[foo="bar[baz][qux]"]') # => {"foo"=>"'bar[baz][qux]'"}
335
- # @param selector [String]
336
- # @return [Array<String>]
337
- #
338
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#59
339
- def attributes(selector); end
340
-
341
- # @api private
342
- # @example
343
- # classes('#some-id') # => []
344
- # classes('.some-cls') # => ['some-cls']
345
- # classes('#some-id.some-cls') # => ['some-cls']
346
- # classes('#some-id.cls1.cls2') # => ['cls1', 'cls2']
347
- # @param selector [String]
348
- # @return [Array<String>]
349
- #
350
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#39
351
- def classes(selector); end
352
-
353
- # @api private
354
- # @example
355
- # id('#some-id') # => some-id
356
- # id('.some-cls') # => nil
357
- # id('#some-id.cls') # => some-id
358
- # @param selector [String]
359
- # @return [String]
360
- #
361
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#17
362
- def id(selector); end
363
-
364
- # @api private
365
- # @example
366
- # id?('#some-id') # => true
367
- # id?('.some-cls') # => false
368
- # @param selector [String]
369
- # @return [Boolean]
370
- #
371
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#28
372
- def id?(selector); end
373
-
374
- # @api private
375
- # @example
376
- # multiple_selectors?('a.cls b#id') # => true
377
- # multiple_selectors?('a.cls') # => false
378
- # @param selector [String]
379
- # @return [Boolean]
380
- #
381
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#82
382
- def multiple_selectors?(selector); end
383
-
384
- # @api private
385
- # @example
386
- # pseudo_classes('button:not([disabled])') # => ['not()']
387
- # pseudo_classes('a:enabled:not([valid])') # => ['enabled', 'not()']
388
- # @param selector [String]
389
- # @return [Array<String>]
390
- #
391
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#68
392
- def pseudo_classes(selector); end
393
-
394
- class << self
395
- # @api private
396
- # @example
397
- # attribute?('[attribute]') # => true
398
- # attribute?('attribute') # => false
399
- # @param selector [String]
400
- # @return [Boolean]
401
- #
402
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#48
403
- def attribute?(selector); end
404
-
405
- # @api private
406
- # @example
407
- # attributes('a[foo-bar_baz]') # => {"foo-bar_baz=>nil}
408
- # attributes('button[foo][bar=baz]') # => {"foo"=>nil, "bar"=>"'baz'"}
409
- # attributes('table[foo=bar]') # => {"foo"=>"'bar'"}
410
- # attributes('[foo="bar[baz][qux]"]') # => {"foo"=>"'bar[baz][qux]'"}
411
- # @param selector [String]
412
- # @return [Array<String>]
413
- #
414
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#59
415
- def attributes(selector); end
416
-
417
- # @api private
418
- # @example
419
- # classes('#some-id') # => []
420
- # classes('.some-cls') # => ['some-cls']
421
- # classes('#some-id.some-cls') # => ['some-cls']
422
- # classes('#some-id.cls1.cls2') # => ['cls1', 'cls2']
423
- # @param selector [String]
424
- # @return [Array<String>]
425
- #
426
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#39
427
- def classes(selector); end
428
-
429
- # @api private
430
- # @example
431
- # id('#some-id') # => some-id
432
- # id('.some-cls') # => nil
433
- # id('#some-id.cls') # => some-id
434
- # @param selector [String]
435
- # @return [String]
436
- #
437
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#17
438
- def id(selector); end
439
-
440
- # @api private
441
- # @example
442
- # id?('#some-id') # => true
443
- # id?('.some-cls') # => false
444
- # @param selector [String]
445
- # @return [Boolean]
446
- #
447
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#28
448
- def id?(selector); end
449
-
450
- # @api private
451
- # @example
452
- # multiple_selectors?('a.cls b#id') # => true
453
- # multiple_selectors?('a.cls') # => false
454
- # @param selector [String]
455
- # @return [Boolean]
456
- #
457
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#82
458
- def multiple_selectors?(selector); end
459
-
460
- # @api private
461
- # @example
462
- # pseudo_classes('button:not([disabled])') # => ['not()']
463
- # pseudo_classes('a:enabled:not([valid])') # => ['enabled', 'not()']
464
- # @param selector [String]
465
- # @return [Array<String>]
466
- #
467
- # source://rubocop-capybara//lib/rubocop/cop/capybara/mixin/css_selector.rb#68
468
- def pseudo_classes(selector); end
469
- end
470
- end
471
-
472
- # Checks that no expectations are set on Capybara's `current_path`.
473
- #
474
- # The
475
- # https://www.rubydoc.info/github/teamcapybara/capybara/master/Capybara/RSpecMatchers#have_current_path-instance_method[`have_current_path` matcher]
476
- # should be used on `page` to set expectations on Capybara's
477
- # current path, since it uses
478
- # https://github.com/teamcapybara/capybara/blob/master/README.md#asynchronous-javascript-ajax-and-friends[Capybara's waiting functionality]
479
- # which ensures that preceding actions (like `click_link`) have
480
- # completed.
481
- #
482
- # This cop does not support autocorrection in some cases.
483
- #
484
- # @example
485
- # # bad
486
- # expect(current_path).to eq('/callback')
487
- # expect(page.current_path).to eq('/callback')
488
- #
489
- # # good
490
- # expect(page).to have_current_path('/callback', ignore_query: true)
491
- #
492
- # # bad (does not support autocorrection when `match` with a variable)
493
- # expect(page).to match(variable)
494
- #
495
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#29
496
- class RuboCop::Cop::Capybara::CurrentPathExpectation < ::RuboCop::Cop::Base
497
- include ::RuboCop::Cop::RangeHelp
498
- extend ::RuboCop::Cop::AutoCorrector
499
-
500
- # Supported matchers: eq(...) / match(/regexp/) / match('regexp')
501
- #
502
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#46
503
- def as_is_matcher(param0 = T.unsafe(nil)); end
504
-
505
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#40
506
- def expectation_set_on_current_path(param0 = T.unsafe(nil)); end
507
-
508
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#63
509
- def on_send(node); end
510
-
511
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#53
512
- def regexp_node_matcher(param0 = T.unsafe(nil)); end
513
-
514
- private
515
-
516
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#113
517
- def add_argument_parentheses(corrector, arg_node); end
518
-
519
- # `have_current_path` with no options will include the querystring
520
- # while `page.current_path` does not.
521
- # This ensures the option `ignore_query: true` is added
522
- # except when `match` matcher.
523
- #
524
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#131
525
- def add_ignore_query_options(corrector, node, matcher_node); end
526
-
527
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#75
528
- def autocorrect(corrector, node); end
529
-
530
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#99
531
- def convert_regexp_node_to_literal(corrector, matcher_node, regexp_node); end
532
-
533
- # @return [Boolean]
534
- #
535
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#123
536
- def method_call_with_no_parentheses?(arg_node); end
537
-
538
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#105
539
- def regexp_node_to_regexp_expr(regexp_node); end
540
-
541
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#86
542
- def rewrite_expectation(corrector, node, to_symbol, matcher_node); end
543
-
544
- class << self
545
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#59
546
- def autocorrect_incompatible_with; end
547
- end
548
- end
549
-
550
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#33
551
- RuboCop::Cop::Capybara::CurrentPathExpectation::MSG = T.let(T.unsafe(nil), String)
552
-
553
- # source://rubocop-capybara//lib/rubocop/cop/capybara/current_path_expectation.rb#37
554
- RuboCop::Cop::Capybara::CurrentPathExpectation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
555
-
556
- # Checks for usage of deprecated style methods.
557
- #
558
- # @example when using `assert_style`
559
- # # bad
560
- # page.find(:css, '#first').assert_style(display: 'block')
561
- #
562
- # # good
563
- # page.find(:css, '#first').assert_matches_style(display: 'block')
564
- # @example when using `has_style?`
565
- # # bad
566
- # expect(page.find(:css, 'first')
567
- # .has_style?(display: 'block')).to be true
568
- #
569
- # # good
570
- # expect(page.find(:css, 'first')
571
- # .matches_style?(display: 'block')).to be true
572
- # @example when using `have_style`
573
- # # bad
574
- # expect(page).to have_style(display: 'block')
575
- #
576
- # # good
577
- # expect(page).to match_style(display: 'block')
578
- #
579
- # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#31
580
- class RuboCop::Cop::Capybara::MatchStyle < ::RuboCop::Cop::Base
581
- extend ::RuboCop::Cop::AutoCorrector
582
-
583
- # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#42
584
- def on_send(node); end
585
-
586
- private
587
-
588
- # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#52
589
- def message(node); end
590
- end
591
-
592
- # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#34
593
- RuboCop::Cop::Capybara::MatchStyle::MSG = T.let(T.unsafe(nil), String)
594
-
595
- # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#36
596
- RuboCop::Cop::Capybara::MatchStyle::PREFERRED_METHOD = T.let(T.unsafe(nil), Hash)
597
-
598
- # source://rubocop-capybara//lib/rubocop/cop/capybara/match_style.rb#35
599
- RuboCop::Cop::Capybara::MatchStyle::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
600
-
601
- # Enforces use of `have_no_*` or `not_to` for negated expectations.
602
- #
603
- # @example EnforcedStyle: have_no (default)
604
- # # bad
605
- # expect(page).not_to have_selector
606
- # expect(page).not_to have_css('a')
607
- #
608
- # # good
609
- # expect(page).to have_no_selector
610
- # expect(page).to have_no_css('a')
611
- # @example EnforcedStyle: not_to
612
- # # bad
613
- # expect(page).to have_no_selector
614
- # expect(page).to have_no_css('a')
615
- #
616
- # # good
617
- # expect(page).not_to have_selector
618
- # expect(page).not_to have_css('a')
619
- #
620
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#26
621
- class RuboCop::Cop::Capybara::NegationMatcher < ::RuboCop::Cop::Base
622
- include ::RuboCop::Cop::ConfigurableEnforcedStyle
623
- extend ::RuboCop::Cop::AutoCorrector
624
-
625
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#50
626
- def have_no?(param0 = T.unsafe(nil)); end
627
-
628
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#44
629
- def not_to?(param0 = T.unsafe(nil)); end
630
-
631
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#55
632
- def on_send(node); end
633
-
634
- private
635
-
636
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#78
637
- def message(matcher); end
638
-
639
- # @return [Boolean]
640
- #
641
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#69
642
- def offense?(node); end
643
-
644
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#74
645
- def offense_range(node); end
646
-
647
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#93
648
- def replaced_matcher(matcher); end
649
-
650
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#84
651
- def replaced_runner; end
652
- end
653
-
654
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#31
655
- RuboCop::Cop::Capybara::NegationMatcher::CAPYBARA_MATCHERS = T.let(T.unsafe(nil), Array)
656
-
657
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#30
658
- RuboCop::Cop::Capybara::NegationMatcher::MSG = T.let(T.unsafe(nil), String)
659
-
660
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#38
661
- RuboCop::Cop::Capybara::NegationMatcher::NEGATIVE_MATCHERS = T.let(T.unsafe(nil), Set)
662
-
663
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#36
664
- RuboCop::Cop::Capybara::NegationMatcher::POSITIVE_MATCHERS = T.let(T.unsafe(nil), Set)
665
-
666
- # source://rubocop-capybara//lib/rubocop/cop/capybara/negation_matcher.rb#41
667
- RuboCop::Cop::Capybara::NegationMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)
668
-
669
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#6
670
- module RuboCop::Cop::Capybara::RSpec; end
671
-
672
- # A helper for `explicit` style
673
- #
674
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#108
675
- module RuboCop::Cop::Capybara::RSpec::ExplicitHelper
676
- extend ::RuboCop::AST::NodePattern::Macros
677
-
678
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#138
679
- def predicate_matcher?(param0 = T.unsafe(nil)); end
680
-
681
- private
682
-
683
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#124
684
- def allowed_explicit_matchers; end
685
-
686
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#128
687
- def check_explicit(node); end
688
-
689
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#162
690
- def corrector_explicit(corrector, to_node, actual, matcher); end
691
-
692
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#156
693
- def message_explicit(matcher); end
694
-
695
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#169
696
- def move_predicate(corrector, actual, matcher); end
697
-
698
- # @return [Boolean]
699
- #
700
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#149
701
- def predicate_matcher_name?(name); end
702
-
703
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#180
704
- def replacement_matcher(node); end
705
-
706
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#176
707
- def to_predicate_method(matcher); end
708
- end
709
-
710
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#113
711
- RuboCop::Cop::Capybara::RSpec::ExplicitHelper::BUILT_IN_MATCHERS = T.let(T.unsafe(nil), Array)
712
-
713
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#118
714
- RuboCop::Cop::Capybara::RSpec::ExplicitHelper::INFLECTED_MATCHER = T.let(T.unsafe(nil), Array)
715
-
716
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#111
717
- RuboCop::Cop::Capybara::RSpec::ExplicitHelper::MSG_EXPLICIT = T.let(T.unsafe(nil), String)
718
-
719
- # Use `have_css` or `have_xpath` instead of `have_selector`.
720
- #
721
- # @example
722
- # # bad
723
- # expect(foo).to have_selector(:css, 'bar')
724
- #
725
- # # good
726
- # expect(foo).to have_css('bar')
727
- #
728
- # # bad
729
- # expect(foo).to have_selector(:xpath, 'bar')
730
- #
731
- # # good
732
- # expect(foo).to have_xpath('bar')
733
- # @example DefaultSelector: css (default)
734
- # # bad
735
- # expect(foo).to have_selector('bar')
736
- #
737
- # # good
738
- # expect(foo).to have_css('bar')
739
- # @example DefaultSelector: xpath
740
- # # bad
741
- # expect(foo).to have_selector('bar')
742
- #
743
- # # good
744
- # expect(foo).to have_xpath('bar')
745
- #
746
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#36
747
- class RuboCop::Cop::Capybara::RSpec::HaveSelector < ::RuboCop::Cop::Base
748
- include ::RuboCop::Cop::RangeHelp
749
- extend ::RuboCop::Cop::AutoCorrector
750
-
751
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#44
752
- def on_send(node); end
753
-
754
- private
755
-
756
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#80
757
- def default_selector; end
758
-
759
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#65
760
- def deletion_range(first_argument, second_argument); end
761
-
762
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#61
763
- def message_typed(type); end
764
-
765
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#76
766
- def message_untyped; end
767
-
768
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#52
769
- def on_select_with_type(node, type); end
770
-
771
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#70
772
- def on_select_without_type(node); end
773
- end
774
-
775
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#40
776
- RuboCop::Cop::Capybara::RSpec::HaveSelector::MSG = T.let(T.unsafe(nil), String)
777
-
778
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#41
779
- RuboCop::Cop::Capybara::RSpec::HaveSelector::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
780
-
781
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/have_selector.rb#42
782
- RuboCop::Cop::Capybara::RSpec::HaveSelector::SELECTORS = T.let(T.unsafe(nil), Array)
783
-
784
- # A helper for `inflected` style
785
- #
786
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#8
787
- module RuboCop::Cop::Capybara::RSpec::InflectedHelper
788
- extend ::RuboCop::AST::NodePattern::Macros
789
-
790
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#46
791
- def be_bool?(param0 = T.unsafe(nil)); end
792
-
793
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#51
794
- def be_boolthy?(param0 = T.unsafe(nil)); end
795
-
796
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#32
797
- def predicate_in_actual?(param0 = T.unsafe(nil)); end
798
-
799
- private
800
-
801
- # @return [Boolean]
802
- #
803
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#55
804
- def boolean_matcher?(node); end
805
-
806
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#19
807
- def check_inflected(node); end
808
-
809
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#67
810
- def message_inflected(predicate); end
811
-
812
- # @return [Boolean]
813
- #
814
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#63
815
- def predicate?(sym); end
816
-
817
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#77
818
- def remove_predicate(corrector, predicate); end
819
-
820
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#85
821
- def rewrite_matcher(corrector, predicate, matcher); end
822
-
823
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#73
824
- def to_predicate_matcher(name); end
825
-
826
- # @return [Boolean]
827
- #
828
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#94
829
- def true?(to_symbol, matcher); end
830
- end
831
-
832
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#11
833
- RuboCop::Cop::Capybara::RSpec::InflectedHelper::EXPLICIT_MATCHER = T.let(T.unsafe(nil), Array)
834
-
835
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#14
836
- RuboCop::Cop::Capybara::RSpec::InflectedHelper::MSG_INFLECTED = T.let(T.unsafe(nil), String)
837
-
838
- # Prefer using predicate matcher over using predicate method directly.
839
- #
840
- # Capybara defines magic matchers for predicate methods.
841
- # This cop recommends to use the predicate matcher instead of using
842
- # predicate method directly.
843
- #
844
- # @example Strict: true, EnforcedStyle: inflected (default)
845
- # # bad
846
- # expect(foo.matches_css?(bar: 'baz')).to be_truthy
847
- # expect(foo.matches_selector?(bar: 'baz')).to be_truthy
848
- # expect(foo.matches_style?(bar: 'baz')).to be_truthy
849
- # expect(foo.matches_xpath?(bar: 'baz')).to be_truthy
850
- #
851
- # # good
852
- # expect(foo).to match_css(bar: 'baz')
853
- # expect(foo).to match_selector(bar: 'baz')
854
- # expect(foo).to match_style(bar: 'baz')
855
- # expect(foo).to match_xpath(bar: 'baz')
856
- #
857
- # # also good - It checks "true" strictly.
858
- # expect(foo.matches_style?(bar: 'baz')).to be(true)
859
- # @example Strict: false, EnforcedStyle: inflected
860
- # # bad
861
- # expect(foo.matches_style?(bar: 'baz')).to be_truthy
862
- # expect(foo.matches_style?(bar: 'baz')).to be(true)
863
- #
864
- # # good
865
- # expect(foo).to match_style(bar: 'baz')
866
- # @example Strict: true, EnforcedStyle: explicit
867
- # # bad
868
- # expect(foo).to match_style(bar: 'baz')
869
- #
870
- # # good - the above code is rewritten to it by this cop
871
- # expect(foo.matches_style?(bar: 'baz')).to be(true)
872
- # @example Strict: false, EnforcedStyle: explicit
873
- # # bad
874
- # expect(foo).to match_style(bar: 'baz')
875
- #
876
- # # good - the above code is rewritten to it by this cop
877
- # expect(foo.matches_style?(bar: 'baz')).to be_truthy
878
- #
879
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#238
880
- class RuboCop::Cop::Capybara::RSpec::PredicateMatcher < ::RuboCop::Cop::Base
881
- include ::RuboCop::Cop::ConfigurableEnforcedStyle
882
- include ::RuboCop::Cop::Capybara::RSpec::InflectedHelper
883
- include ::RuboCop::Cop::Capybara::RSpec::ExplicitHelper
884
- extend ::RuboCop::Cop::AutoCorrector
885
-
886
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#246
887
- def on_send(node); end
888
-
889
- private
890
-
891
- # returns args location with whitespace
892
- #
893
- # @example
894
- # foo 1, 2
895
- # ^^^^^
896
- #
897
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#260
898
- def args_loc(send_node); end
899
- end
900
-
901
- # source://rubocop-capybara//lib/rubocop/cop/capybara/rspec/predicate_matcher.rb#244
902
- RuboCop::Cop::Capybara::RSpec::PredicateMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
903
-
904
- # Checks for redundant `within find(...)` calls.
905
- #
906
- # @example
907
- # # bad
908
- # within find('foo.bar') do
909
- # # ...
910
- # end
911
- #
912
- # # good
913
- # within 'foo.bar' do
914
- # # ...
915
- # end
916
- #
917
- # # bad
918
- # within find_by_id('foo') do
919
- # # ...
920
- # end
921
- #
922
- # # good
923
- # within '#foo' do
924
- # # ...
925
- # end
926
- #
927
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#29
928
- class RuboCop::Cop::Capybara::RedundantWithinFind < ::RuboCop::Cop::Base
929
- extend ::RuboCop::Cop::AutoCorrector
930
-
931
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#41
932
- def on_send(node); end
933
-
934
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#36
935
- def within_find(param0 = T.unsafe(nil)); end
936
-
937
- private
938
-
939
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#51
940
- def msg(node); end
941
-
942
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#55
943
- def replaced(node); end
944
- end
945
-
946
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#33
947
- RuboCop::Cop::Capybara::RedundantWithinFind::FIND_METHODS = T.let(T.unsafe(nil), Set)
948
-
949
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#31
950
- RuboCop::Cop::Capybara::RedundantWithinFind::MSG = T.let(T.unsafe(nil), String)
951
-
952
- # source://rubocop-capybara//lib/rubocop/cop/capybara/redundant_within_find.rb#32
953
- RuboCop::Cop::Capybara::RedundantWithinFind::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
954
-
955
- # Checks for there is a more specific actions offered by Capybara.
956
- #
957
- # @example
958
- #
959
- # # bad
960
- # find('a').click
961
- # find('button.cls').click
962
- # find('a', exact_text: 'foo').click
963
- # find('div button').click
964
- #
965
- # # good
966
- # click_link
967
- # click_button(class: 'cls')
968
- # click_link(exact_text: 'foo')
969
- # find('div').click_button
970
- #
971
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#22
972
- class RuboCop::Cop::Capybara::SpecificActions < ::RuboCop::Cop::Base
973
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#31
974
- def click_on_selector(param0 = T.unsafe(nil)); end
975
-
976
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#35
977
- def on_send(node); end
978
-
979
- private
980
-
981
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#87
982
- def good_action(action); end
983
-
984
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#73
985
- def last_selector(arg); end
986
-
987
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#81
988
- def message(action, selector); end
989
-
990
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#77
991
- def offense_range(node, receiver); end
992
-
993
- # @return [Boolean]
994
- #
995
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#57
996
- def replaceable?(node, arg, action); end
997
-
998
- # @return [Boolean]
999
- #
1000
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#63
1001
- def replaceable_attributes?(selector); end
1002
-
1003
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#53
1004
- def specific_action(selector); end
1005
-
1006
- # @return [Boolean]
1007
- #
1008
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#69
1009
- def supported_selector?(selector); end
1010
- end
1011
-
1012
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#23
1013
- RuboCop::Cop::Capybara::SpecificActions::MSG = T.let(T.unsafe(nil), String)
1014
-
1015
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#24
1016
- RuboCop::Cop::Capybara::SpecificActions::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
1017
-
1018
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_actions.rb#25
1019
- RuboCop::Cop::Capybara::SpecificActions::SPECIFIC_ACTION = T.let(T.unsafe(nil), Hash)
1020
-
1021
- # Checks if there is a more specific finder offered by Capybara.
1022
- #
1023
- # @example
1024
- # # bad
1025
- # find('#some-id')
1026
- # find('[id=some-id]')
1027
- # find(:css, '#some-id')
1028
- #
1029
- # # good
1030
- # find_by_id('some-id')
1031
- #
1032
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#17
1033
- class RuboCop::Cop::Capybara::SpecificFinders < ::RuboCop::Cop::Base
1034
- include ::RuboCop::Cop::RangeHelp
1035
- extend ::RuboCop::Cop::AutoCorrector
1036
-
1037
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#30
1038
- def class_options(param0); end
1039
-
1040
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#25
1041
- def find_argument(param0 = T.unsafe(nil)); end
1042
-
1043
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#34
1044
- def on_send(node); end
1045
-
1046
- private
1047
-
1048
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#93
1049
- def append_options(classes, options); end
1050
-
1051
- # @return [Boolean]
1052
- #
1053
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#62
1054
- def attribute?(arg); end
1055
-
1056
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#83
1057
- def autocorrect_classes(corrector, node, classes); end
1058
-
1059
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#78
1060
- def deletion_range(node); end
1061
-
1062
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#120
1063
- def end_pos(node); end
1064
-
1065
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#98
1066
- def keyword_argument_class(classes); end
1067
-
1068
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#116
1069
- def offense_range(node); end
1070
-
1071
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#46
1072
- def on_attr(node, sym, arg); end
1073
-
1074
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#54
1075
- def on_id(node, sym, arg); end
1076
-
1077
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#67
1078
- def register_offense(node, sym, id, classes = T.unsafe(nil)); end
1079
-
1080
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#103
1081
- def replaced_arguments(arg, id); end
1082
-
1083
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#108
1084
- def to_options(attrs); end
1085
- end
1086
-
1087
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#21
1088
- RuboCop::Cop::Capybara::SpecificFinders::MSG = T.let(T.unsafe(nil), String)
1089
-
1090
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_finders.rb#22
1091
- RuboCop::Cop::Capybara::SpecificFinders::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
1092
-
1093
- # Checks for there is a more specific matcher offered by Capybara.
1094
- #
1095
- # @example
1096
- #
1097
- # # bad
1098
- # expect(page).to have_selector('button')
1099
- # expect(page).to have_no_selector('button.cls')
1100
- # expect(page).to have_css('button')
1101
- # expect(page).to have_no_css('a.cls', href: 'http://example.com')
1102
- # expect(page).to have_css('table.cls')
1103
- # expect(page).to have_css('select')
1104
- # expect(page).to have_css('input', exact_text: 'foo')
1105
- #
1106
- # # good
1107
- # expect(page).to have_button
1108
- # expect(page).to have_no_button(class: 'cls')
1109
- # expect(page).to have_button
1110
- # expect(page).to have_no_link('foo', class: 'cls', href: 'http://example.com')
1111
- # expect(page).to have_table(class: 'cls')
1112
- # expect(page).to have_select
1113
- # expect(page).to have_field('foo')
1114
- #
1115
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#28
1116
- class RuboCop::Cop::Capybara::SpecificMatcher < ::RuboCop::Cop::Base
1117
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#41
1118
- def first_argument(param0 = T.unsafe(nil)); end
1119
-
1120
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#50
1121
- def on_send(node); end
1122
-
1123
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#46
1124
- def text_with_regexp?(param0); end
1125
-
1126
- private
1127
-
1128
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#86
1129
- def good_matcher(node, matcher); end
1130
-
1131
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#80
1132
- def message(node, matcher); end
1133
-
1134
- # @return [Boolean]
1135
- #
1136
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#67
1137
- def replaceable?(node, arg, matcher); end
1138
-
1139
- # @return [Boolean]
1140
- #
1141
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#74
1142
- def replaceable_attributes?(selector); end
1143
-
1144
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#62
1145
- def specific_matcher(arg); end
1146
- end
1147
-
1148
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#29
1149
- RuboCop::Cop::Capybara::SpecificMatcher::MSG = T.let(T.unsafe(nil), String)
1150
-
1151
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#30
1152
- RuboCop::Cop::Capybara::SpecificMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
1153
-
1154
- # source://rubocop-capybara//lib/rubocop/cop/capybara/specific_matcher.rb#32
1155
- RuboCop::Cop::Capybara::SpecificMatcher::SPECIFIC_MATCHER = T.let(T.unsafe(nil), Hash)
1156
-
1157
- # Checks for boolean visibility in Capybara finders.
1158
- #
1159
- # Capybara lets you find elements that match a certain visibility using
1160
- # the `:visible` option. `:visible` accepts both boolean and symbols as
1161
- # values, however using booleans can have unwanted effects. `visible:
1162
- # false` does not find just invisible elements, but both visible and
1163
- # invisible elements. For expressiveness and clarity, use one of the
1164
- # symbol values, `:all`, `:hidden` or `:visible`.
1165
- # Read more in
1166
- # https://www.rubydoc.info/gems/capybara/Capybara%2FNode%2FFinders:all[the documentation].
1167
- #
1168
- # @example
1169
- # # bad
1170
- # expect(page).to have_selector('.foo', visible: false)
1171
- # expect(page).to have_css('.foo', visible: true)
1172
- # expect(page).to have_link('my link', visible: false)
1173
- #
1174
- # # good
1175
- # expect(page).to have_selector('.foo', visible: :visible)
1176
- # expect(page).to have_css('.foo', visible: :all)
1177
- # expect(page).to have_link('my link', visible: :hidden)
1178
- #
1179
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#28
1180
- class RuboCop::Cop::Capybara::VisibilityMatcher < ::RuboCop::Cop::Base
1181
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#58
1182
- def on_send(node); end
1183
-
1184
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#54
1185
- def visible_false?(param0 = T.unsafe(nil)); end
1186
-
1187
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#49
1188
- def visible_true?(param0 = T.unsafe(nil)); end
1189
-
1190
- private
1191
-
1192
- # @return [Boolean]
1193
- #
1194
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#65
1195
- def capybara_matcher?(method_name); end
1196
- end
1197
-
1198
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#31
1199
- RuboCop::Cop::Capybara::VisibilityMatcher::CAPYBARA_MATCHER_METHODS = T.let(T.unsafe(nil), Array)
1200
-
1201
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#29
1202
- RuboCop::Cop::Capybara::VisibilityMatcher::MSG_FALSE = T.let(T.unsafe(nil), String)
1203
-
1204
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#30
1205
- RuboCop::Cop::Capybara::VisibilityMatcher::MSG_TRUE = T.let(T.unsafe(nil), String)
1206
-
1207
- # source://rubocop-capybara//lib/rubocop/cop/capybara/visibility_matcher.rb#46
1208
- RuboCop::Cop::Capybara::VisibilityMatcher::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)