packwerk 3.2.2 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/packwerk/application_validator.rb +2 -1
  3. data/lib/packwerk/graph.rb +15 -56
  4. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +1 -2
  5. data/lib/packwerk/run_context.rb +5 -0
  6. data/lib/packwerk/validators/dependency_validator.rb +5 -4
  7. data/lib/packwerk/version.rb +1 -1
  8. data/sorbet/rbi/gems/{actionpack@7.0.3.1.rbi → actionpack@7.0.8.7.rbi} +1338 -1227
  9. data/sorbet/rbi/gems/{actionview@7.0.3.1.rbi → actionview@7.0.8.7.rbi} +548 -503
  10. data/sorbet/rbi/gems/{activesupport@7.0.3.1.rbi → activesupport@7.0.8.7.rbi} +714 -635
  11. data/sorbet/rbi/gems/{better_html@2.0.1.rbi → better_html@2.1.1.rbi} +21 -21
  12. data/sorbet/rbi/gems/{concurrent-ruby@1.1.10.rbi → concurrent-ruby@1.3.5.rbi} +1390 -1366
  13. data/sorbet/rbi/gems/{constant_resolver@0.2.0.rbi → constant_resolver@0.3.0.rbi} +22 -13
  14. data/sorbet/rbi/gems/{erubi@1.11.0.rbi → erubi@1.13.1.rbi} +28 -17
  15. data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.14.7.rbi} +234 -172
  16. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.7.2.rbi} +94 -74
  17. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  18. data/sorbet/rbi/gems/{loofah@2.18.0.rbi → loofah@2.24.0.rbi} +470 -243
  19. data/sorbet/rbi/gems/{minitest@5.16.2.rbi → minitest@5.25.4.rbi} +577 -472
  20. data/sorbet/rbi/gems/{mocha@1.14.0.rbi → mocha@2.5.0.rbi} +468 -684
  21. data/sorbet/rbi/gems/{nokogiri@1.15.3.rbi → nokogiri@1.18.4.rbi} +1756 -869
  22. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.25.1.rbi} +26 -20
  23. data/sorbet/rbi/gems/{racc@1.7.1.rbi → racc@1.8.1.rbi} +36 -36
  24. data/sorbet/rbi/gems/{rack-test@2.0.2.rbi → rack-test@2.2.0.rbi} +87 -114
  25. data/sorbet/rbi/gems/{rack@2.2.4.rbi → rack@2.2.13.rbi} +243 -195
  26. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +754 -0
  27. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +764 -0
  28. data/sorbet/rbi/gems/{railties@7.0.3.1.rbi → railties@7.0.8.7.rbi} +146 -140
  29. data/sorbet/rbi/gems/{regexp_parser@2.5.0.rbi → regexp_parser@2.9.2.rbi} +947 -542
  30. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.3.9.rbi} +452 -312
  31. data/sorbet/rbi/gems/{rubocop-ast@1.21.0.rbi → rubocop-ast@1.31.3.rbi} +717 -588
  32. data/sorbet/rbi/gems/{rubocop@1.34.1.rbi → rubocop@1.64.1.rbi} +10916 -4406
  33. data/sorbet/rbi/gems/{ruby-progressbar@1.11.0.rbi → ruby-progressbar@1.13.0.rbi} +359 -281
  34. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  35. data/sorbet/rbi/gems/{tzinfo@2.0.5.rbi → tzinfo@2.0.6.rbi} +144 -141
  36. data/sorbet/rbi/gems/{unicode-display_width@2.2.0.rbi → unicode-display_width@2.5.0.rbi} +24 -7
  37. metadata +36 -41
  38. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +0 -8
  39. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
  40. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +0 -455
  41. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +0 -542
  42. data/sorbet/rbi/gems/ruby-lsp@0.2.3.rbi +0 -11
  43. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +0 -8
  44. /data/sorbet/rbi/gems/{builder@3.2.4.rbi → builder@3.3.0.rbi} +0 -0
  45. /data/sorbet/rbi/gems/{parser@3.3.1.0.rbi → parser@3.3.3.0.rbi} +0 -0
@@ -11,29 +11,43 @@ module Unicode; end
11
11
  class Unicode::DisplayWidth
12
12
  # @return [DisplayWidth] a new instance of DisplayWidth
13
13
  #
14
- # source://unicode-display_width//lib/unicode/display_width.rb#46
14
+ # source://unicode-display_width//lib/unicode/display_width.rb#104
15
15
  def initialize(ambiguous: T.unsafe(nil), overwrite: T.unsafe(nil), emoji: T.unsafe(nil)); end
16
16
 
17
- # source://unicode-display_width//lib/unicode/display_width.rb#52
17
+ # source://unicode-display_width//lib/unicode/display_width.rb#110
18
18
  def get_config(**kwargs); end
19
19
 
20
- # source://unicode-display_width//lib/unicode/display_width.rb#60
20
+ # source://unicode-display_width//lib/unicode/display_width.rb#118
21
21
  def of(string, **kwargs); end
22
22
 
23
23
  class << self
24
- # source://unicode-display_width//lib/unicode/display_width.rb#28
24
+ # source://unicode-display_width//lib/unicode/display_width/index.rb#14
25
+ def decompress_index(index, level); end
26
+
27
+ # source://unicode-display_width//lib/unicode/display_width.rb#86
25
28
  def emoji_extra_width_of(string, ambiguous = T.unsafe(nil), overwrite = T.unsafe(nil), _ = T.unsafe(nil)); end
26
29
 
27
- # source://unicode-display_width//lib/unicode/display_width.rb#10
30
+ # source://unicode-display_width//lib/unicode/display_width.rb#12
28
31
  def of(string, ambiguous = T.unsafe(nil), overwrite = T.unsafe(nil), options = T.unsafe(nil)); end
32
+
33
+ # Same as .width_no_overwrite - but with applying overwrites for each char
34
+ #
35
+ # source://unicode-display_width//lib/unicode/display_width.rb#57
36
+ def width_all_features(string, ambiguous, overwrite, options); end
37
+
38
+ # source://unicode-display_width//lib/unicode/display_width.rb#30
39
+ def width_no_overwrite(string, ambiguous, options = T.unsafe(nil)); end
29
40
  end
30
41
  end
31
42
 
43
+ # source://unicode-display_width//lib/unicode/display_width.rb#9
44
+ Unicode::DisplayWidth::ASCII_NON_ZERO_REGEX = T.let(T.unsafe(nil), Regexp)
45
+
32
46
  # source://unicode-display_width//lib/unicode/display_width/constants.rb#7
33
47
  Unicode::DisplayWidth::DATA_DIRECTORY = T.let(T.unsafe(nil), String)
34
48
 
35
- # source://unicode-display_width//lib/unicode/display_width.rb#8
36
- Unicode::DisplayWidth::DEPTHS = T.let(T.unsafe(nil), Array)
49
+ # source://unicode-display_width//lib/unicode/display_width.rb#10
50
+ Unicode::DisplayWidth::FIRST_4096 = T.let(T.unsafe(nil), Array)
37
51
 
38
52
  # source://unicode-display_width//lib/unicode/display_width/index.rb#11
39
53
  Unicode::DisplayWidth::INDEX = T.let(T.unsafe(nil), Array)
@@ -41,6 +55,9 @@ Unicode::DisplayWidth::INDEX = T.let(T.unsafe(nil), Array)
41
55
  # source://unicode-display_width//lib/unicode/display_width/constants.rb#8
42
56
  Unicode::DisplayWidth::INDEX_FILENAME = T.let(T.unsafe(nil), String)
43
57
 
58
+ # source://unicode-display_width//lib/unicode/display_width.rb#8
59
+ Unicode::DisplayWidth::INITIAL_DEPTH = T.let(T.unsafe(nil), Integer)
60
+
44
61
  # source://unicode-display_width//lib/unicode/display_width/constants.rb#6
45
62
  Unicode::DisplayWidth::UNICODE_VERSION = T.let(T.unsafe(nil), String)
46
63
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packwerk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.2
4
+ version: 3.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify Inc.
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-11-11 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -44,14 +43,14 @@ dependencies:
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: 0.2.0
46
+ version: '0.3'
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
- version: 0.2.0
53
+ version: '0.3'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: parallel
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -231,58 +230,56 @@ files:
231
230
  - lib/packwerk/validators/dependency_validator.rb
232
231
  - lib/packwerk/version.rb
233
232
  - sorbet/config
234
- - sorbet/rbi/gems/actionpack@7.0.3.1.rbi
235
- - sorbet/rbi/gems/actionview@7.0.3.1.rbi
236
- - sorbet/rbi/gems/activesupport@7.0.3.1.rbi
233
+ - sorbet/rbi/gems/actionpack@7.0.8.7.rbi
234
+ - sorbet/rbi/gems/actionview@7.0.8.7.rbi
235
+ - sorbet/rbi/gems/activesupport@7.0.8.7.rbi
237
236
  - sorbet/rbi/gems/ast@2.4.2.rbi
238
- - sorbet/rbi/gems/better_html@2.0.1.rbi
239
- - sorbet/rbi/gems/builder@3.2.4.rbi
237
+ - sorbet/rbi/gems/better_html@2.1.1.rbi
238
+ - sorbet/rbi/gems/builder@3.3.0.rbi
240
239
  - sorbet/rbi/gems/byebug@11.1.3.rbi
241
- - sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi
242
- - sorbet/rbi/gems/constant_resolver@0.2.0.rbi
240
+ - sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi
241
+ - sorbet/rbi/gems/constant_resolver@0.3.0.rbi
243
242
  - sorbet/rbi/gems/crass@1.0.6.rbi
244
- - sorbet/rbi/gems/erubi@1.11.0.rbi
245
- - sorbet/rbi/gems/i18n@1.12.0.rbi
246
- - sorbet/rbi/gems/json@2.6.2.rbi
247
- - sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi
248
- - sorbet/rbi/gems/loofah@2.18.0.rbi
243
+ - sorbet/rbi/gems/erubi@1.13.1.rbi
244
+ - sorbet/rbi/gems/i18n@1.14.7.rbi
245
+ - sorbet/rbi/gems/json@2.7.2.rbi
246
+ - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
247
+ - sorbet/rbi/gems/loofah@2.24.0.rbi
249
248
  - sorbet/rbi/gems/m@1.6.0.rbi
250
249
  - sorbet/rbi/gems/method_source@1.1.0.rbi
251
250
  - sorbet/rbi/gems/minitest-focus@1.3.1.rbi
252
- - sorbet/rbi/gems/minitest@5.16.2.rbi
253
- - sorbet/rbi/gems/mocha@1.14.0.rbi
251
+ - sorbet/rbi/gems/minitest@5.25.4.rbi
252
+ - sorbet/rbi/gems/mocha@2.5.0.rbi
254
253
  - sorbet/rbi/gems/netrc@0.11.0.rbi
255
- - sorbet/rbi/gems/nokogiri@1.15.3.rbi
256
- - sorbet/rbi/gems/parallel@1.24.0.rbi
257
- - sorbet/rbi/gems/parser@3.3.1.0.rbi
258
- - sorbet/rbi/gems/prettier_print@0.1.0.rbi
254
+ - sorbet/rbi/gems/nokogiri@1.18.4.rbi
255
+ - sorbet/rbi/gems/parallel@1.25.1.rbi
256
+ - sorbet/rbi/gems/parser@3.3.3.0.rbi
259
257
  - sorbet/rbi/gems/prism@0.27.0.rbi
260
- - sorbet/rbi/gems/racc@1.7.1.rbi
261
- - sorbet/rbi/gems/rack-test@2.0.2.rbi
262
- - sorbet/rbi/gems/rack@2.2.4.rbi
263
- - sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi
264
- - sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi
265
- - sorbet/rbi/gems/railties@7.0.3.1.rbi
258
+ - sorbet/rbi/gems/racc@1.8.1.rbi
259
+ - sorbet/rbi/gems/rack-test@2.2.0.rbi
260
+ - sorbet/rbi/gems/rack@2.2.13.rbi
261
+ - sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi
262
+ - sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi
263
+ - sorbet/rbi/gems/railties@7.0.8.7.rbi
266
264
  - sorbet/rbi/gems/rainbow@3.1.1.rbi
267
265
  - sorbet/rbi/gems/rake@13.0.6.rbi
268
266
  - sorbet/rbi/gems/rbi@0.1.12.rbi
269
- - sorbet/rbi/gems/regexp_parser@2.5.0.rbi
270
- - sorbet/rbi/gems/rexml@3.2.5.rbi
271
- - sorbet/rbi/gems/rubocop-ast@1.21.0.rbi
267
+ - sorbet/rbi/gems/regexp_parser@2.9.2.rbi
268
+ - sorbet/rbi/gems/rexml@3.3.9.rbi
269
+ - sorbet/rbi/gems/rubocop-ast@1.31.3.rbi
272
270
  - sorbet/rbi/gems/rubocop-performance@1.14.3.rbi
273
271
  - sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi
274
272
  - sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi
275
- - sorbet/rbi/gems/rubocop@1.34.1.rbi
276
- - sorbet/rbi/gems/ruby-lsp@0.2.3.rbi
277
- - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
273
+ - sorbet/rbi/gems/rubocop@1.64.1.rbi
274
+ - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
275
+ - sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi
278
276
  - sorbet/rbi/gems/smart_properties@1.17.0.rbi
279
277
  - sorbet/rbi/gems/spoom@1.3.2.rbi
280
278
  - sorbet/rbi/gems/spring@4.0.0.rbi
281
- - sorbet/rbi/gems/syntax_tree@3.3.0.rbi
282
279
  - sorbet/rbi/gems/tapioca@0.13.3.rbi
283
280
  - sorbet/rbi/gems/thor@1.3.1.rbi
284
- - sorbet/rbi/gems/tzinfo@2.0.5.rbi
285
- - sorbet/rbi/gems/unicode-display_width@2.2.0.rbi
281
+ - sorbet/rbi/gems/tzinfo@2.0.6.rbi
282
+ - sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
286
283
  - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
287
284
  - sorbet/rbi/gems/yard@0.9.36.rbi
288
285
  - sorbet/rbi/gems/zeitwerk@2.6.4.rbi
@@ -300,7 +297,6 @@ metadata:
300
297
  source_code_uri: https://github.com/Shopify/packwerk
301
298
  changelog_uri: https://github.com/Shopify/packwerk/releases
302
299
  allowed_push_host: https://rubygems.org
303
- post_install_message:
304
300
  rdoc_options: []
305
301
  require_paths:
306
302
  - lib
@@ -315,8 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
315
311
  - !ruby/object:Gem::Version
316
312
  version: '0'
317
313
  requirements: []
318
- rubygems_version: 3.5.23
319
- signing_key:
314
+ rubygems_version: 3.6.9
320
315
  specification_version: 4
321
316
  summary: Packages for applications based on the zeitwerk autoloader
322
317
  test_files: []
@@ -1,8 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `language_server-protocol` gem.
5
- # Please instead update this file by running `bin/tapioca gem language_server-protocol`.
6
-
7
- # THIS IS AN EMPTY RBI FILE.
8
- # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -1,8 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `prettier_print` gem.
5
- # Please instead update this file by running `bin/tapioca gem prettier_print`.
6
-
7
- # THIS IS AN EMPTY RBI FILE.
8
- # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -1,455 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `rails-dom-testing` gem.
5
- # Please instead update this file by running `bin/tapioca gem rails-dom-testing`.
6
-
7
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#4
8
- class HTMLSelector
9
- # @return [HTMLSelector] a new instance of HTMLSelector
10
- #
11
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#7
12
- def initialize(values, previous_selection = T.unsafe(nil), &root_fallback); end
13
-
14
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#33
15
- def context; end
16
-
17
- # Returns the value of attribute css_selector.
18
- #
19
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#5
20
- def css_selector; end
21
-
22
- # Returns the value of attribute message.
23
- #
24
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#5
25
- def message; end
26
-
27
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#25
28
- def select; end
29
-
30
- # @return [Boolean]
31
- #
32
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#19
33
- def selecting_no_body?; end
34
-
35
- # Returns the value of attribute tests.
36
- #
37
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#5
38
- def tests; end
39
-
40
- private
41
-
42
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#87
43
- def extract_equality_tests; end
44
-
45
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#59
46
- def extract_root(previous_selection, root_fallback); end
47
-
48
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#76
49
- def extract_selectors; end
50
-
51
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#35
52
- def filter(matches); end
53
-
54
- class << self
55
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#33
56
- def context; end
57
- end
58
- end
59
-
60
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/html_selector.rb#31
61
- HTMLSelector::NO_STRIP = T.let(T.unsafe(nil), Array)
62
-
63
- # source://rails-dom-testing//lib/rails/dom/testing/assertions.rb#4
64
- module Rails
65
- class << self
66
- # source://railties/7.0.3.1/lib/rails.rb#38
67
- def app_class; end
68
-
69
- # source://railties/7.0.3.1/lib/rails.rb#38
70
- def app_class=(_arg0); end
71
-
72
- # source://railties/7.0.3.1/lib/rails.rb#39
73
- def application; end
74
-
75
- # source://railties/7.0.3.1/lib/rails.rb#37
76
- def application=(_arg0); end
77
-
78
- # source://railties/7.0.3.1/lib/rails.rb#116
79
- def autoloaders; end
80
-
81
- # source://railties/7.0.3.1/lib/rails.rb#50
82
- def backtrace_cleaner; end
83
-
84
- # source://railties/7.0.3.1/lib/rails.rb#38
85
- def cache; end
86
-
87
- # source://railties/7.0.3.1/lib/rails.rb#38
88
- def cache=(_arg0); end
89
-
90
- # source://railties/7.0.3.1/lib/rails.rb#46
91
- def configuration; end
92
-
93
- # source://railties/7.0.3.1/lib/rails.rb#72
94
- def env; end
95
-
96
- # source://railties/7.0.3.1/lib/rails.rb#79
97
- def env=(environment); end
98
-
99
- # source://railties/7.0.3.1/lib/rails.rb#83
100
- def error; end
101
-
102
- # source://railties/7.0.3.1/lib/rails/gem_version.rb#5
103
- def gem_version; end
104
-
105
- # source://railties/7.0.3.1/lib/rails.rb#96
106
- def groups(*groups); end
107
-
108
- # source://railties/7.0.3.1/lib/rails.rb#43
109
- def initialize!(*_arg0, **_arg1, &_arg2); end
110
-
111
- # source://railties/7.0.3.1/lib/rails.rb#43
112
- def initialized?(*_arg0, **_arg1, &_arg2); end
113
-
114
- # source://railties/7.0.3.1/lib/rails.rb#38
115
- def logger; end
116
-
117
- # source://railties/7.0.3.1/lib/rails.rb#38
118
- def logger=(_arg0); end
119
-
120
- # source://railties/7.0.3.1/lib/rails.rb#112
121
- def public_path; end
122
-
123
- # source://railties/7.0.3.1/lib/rails.rb#63
124
- def root; end
125
-
126
- # source://railties/7.0.3.1/lib/rails/version.rb#7
127
- def version; end
128
- end
129
- end
130
-
131
- # source://rails-dom-testing//lib/rails/dom/testing/assertions.rb#5
132
- module Rails::Dom; end
133
-
134
- # source://rails-dom-testing//lib/rails/dom/testing/assertions.rb#6
135
- module Rails::Dom::Testing; end
136
-
137
- # source://rails-dom-testing//lib/rails/dom/testing/assertions.rb#7
138
- module Rails::Dom::Testing::Assertions
139
- include ::Rails::Dom::Testing::Assertions::DomAssertions
140
- include ::Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable
141
- include ::Rails::Dom::Testing::Assertions::SelectorAssertions
142
- extend ::ActiveSupport::Concern
143
- end
144
-
145
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#5
146
- module Rails::Dom::Testing::Assertions::DomAssertions
147
- # \Test two HTML strings for equivalency (e.g., equal even when attributes are in another order)
148
- #
149
- # # assert that the referenced method generates the appropriate HTML string
150
- # assert_dom_equal '<a href="http://www.example.com">Apples</a>', link_to("Apples", "http://www.example.com")
151
- #
152
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#10
153
- def assert_dom_equal(expected, actual, message = T.unsafe(nil)); end
154
-
155
- # The negated form of +assert_dom_equal+.
156
- #
157
- # # assert that the referenced method does not generate the specified HTML string
158
- # assert_dom_not_equal '<a href="http://www.example.com">Apples</a>', link_to("Oranges", "http://www.example.com")
159
- #
160
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#20
161
- def assert_dom_not_equal(expected, actual, message = T.unsafe(nil)); end
162
-
163
- protected
164
-
165
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#28
166
- def compare_doms(expected, actual); end
167
-
168
- # @return [Boolean]
169
- #
170
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#63
171
- def equal_attribute?(attr, other_attr); end
172
-
173
- # @return [Boolean]
174
- #
175
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#50
176
- def equal_attribute_nodes?(nodes, other_nodes); end
177
-
178
- # @return [Boolean]
179
- #
180
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#38
181
- def equal_children?(child, other_child); end
182
-
183
- private
184
-
185
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/dom_assertions.rb#69
186
- def fragment(text); end
187
- end
188
-
189
- # Adds the +assert_select+ method for use in Rails functional
190
- # test cases, which can be used to make assertions on the response HTML of a controller
191
- # action. You can also call +assert_select+ within another +assert_select+ to
192
- # make assertions on elements selected by the enclosing assertion.
193
- #
194
- # Use +css_select+ to select elements without making an assertions, either
195
- # from the response HTML or elements selected by the enclosing assertion.
196
- #
197
- # In addition to HTML responses, you can make the following assertions:
198
- #
199
- # * +assert_select_encoded+ - Assertions on HTML encoded inside XML, for example for dealing with feed item descriptions.
200
- # * +assert_select_email+ - Assertions on the HTML body of an e-mail.
201
- #
202
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/count_describable.rb#7
203
- module Rails::Dom::Testing::Assertions::SelectorAssertions
204
- include ::Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable
205
-
206
- # An assertion that selects elements and makes one or more equality tests.
207
- #
208
- # If the first argument is an element, selects all matching elements
209
- # starting from (and including) that element and all its children in
210
- # depth-first order.
211
- #
212
- # If no element is specified +assert_select+ selects from
213
- # the element returned in +document_root_element+
214
- # unless +assert_select+ is called from within an +assert_select+ block.
215
- # Override +document_root_element+ to tell +assert_select+ what to select from.
216
- # The default implementation raises an exception explaining this.
217
- #
218
- # When called with a block +assert_select+ passes an array of selected elements
219
- # to the block. Calling +assert_select+ from the block, with no element specified,
220
- # runs the assertion on the complete set of elements selected by the enclosing assertion.
221
- # Alternatively the array may be iterated through so that +assert_select+ can be called
222
- # separately for each element.
223
- #
224
- #
225
- # ==== Example
226
- # If the response contains two ordered lists, each with four list elements then:
227
- # assert_select "ol" do |elements|
228
- # elements.each do |element|
229
- # assert_select element, "li", 4
230
- # end
231
- # end
232
- #
233
- # will pass, as will:
234
- # assert_select "ol" do
235
- # assert_select "li", 8
236
- # end
237
- #
238
- # The selector may be a CSS selector expression (String) or an expression
239
- # with substitution values (Array).
240
- # Substitution uses a custom pseudo class match. Pass in whatever attribute you want to match (enclosed in quotes) and a ? for the substitution.
241
- # assert_select returns nil if called with an invalid css selector.
242
- #
243
- # assert_select "div:match('id', ?)", /\d+/
244
- #
245
- # === Equality Tests
246
- #
247
- # The equality test may be one of the following:
248
- # * <tt>true</tt> - Assertion is true if at least one element selected.
249
- # * <tt>false</tt> - Assertion is true if no element selected.
250
- # * <tt>String/Regexp</tt> - Assertion is true if the text value of at least
251
- # one element matches the string or regular expression.
252
- # * <tt>Integer</tt> - Assertion is true if exactly that number of
253
- # elements are selected.
254
- # * <tt>Range</tt> - Assertion is true if the number of selected
255
- # elements fit the range.
256
- # If no equality test specified, the assertion is true if at least one
257
- # element selected.
258
- #
259
- # To perform more than one equality tests, use a hash with the following keys:
260
- # * <tt>:text</tt> - Narrow the selection to elements that have this text
261
- # value (string or regexp).
262
- # * <tt>:html</tt> - Narrow the selection to elements that have this HTML
263
- # content (string or regexp).
264
- # * <tt>:count</tt> - Assertion is true if the number of selected elements
265
- # is equal to this value.
266
- # * <tt>:minimum</tt> - Assertion is true if the number of selected
267
- # elements is at least this value.
268
- # * <tt>:maximum</tt> - Assertion is true if the number of selected
269
- # elements is at most this value.
270
- #
271
- # If the method is called with a block, once all equality tests are
272
- # evaluated the block is called with an array of all matched elements.
273
- #
274
- # # At least one form element
275
- # assert_select "form"
276
- #
277
- # # Form element includes four input fields
278
- # assert_select "form input", 4
279
- #
280
- # # Page title is "Welcome"
281
- # assert_select "title", "Welcome"
282
- #
283
- # # Page title is "Welcome" and there is only one title element
284
- # assert_select "title", {count: 1, text: "Welcome"},
285
- # "Wrong title or more than one title element"
286
- #
287
- # # Page contains no forms
288
- # assert_select "form", false, "This page must contain no forms"
289
- #
290
- # # Test the content and style
291
- # assert_select "body div.header ul.menu"
292
- #
293
- # # Use substitution values
294
- # assert_select "ol>li:match('id', ?)", /item-\d+/
295
- #
296
- # # All input fields in the form have a name
297
- # assert_select "form input" do
298
- # assert_select ":match('name', ?)", /.+/ # Not empty
299
- # end
300
- #
301
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#161
302
- def assert_select(*args, &block); end
303
-
304
- # Extracts the body of an email and runs nested assertions on it.
305
- #
306
- # You must enable deliveries for this assertion to work, use:
307
- # ActionMailer::Base.perform_deliveries = true
308
- #
309
- # assert_select_email do
310
- # assert_select "h1", "Email alert"
311
- # end
312
- #
313
- # assert_select_email do
314
- # items = assert_select "ol>li"
315
- # items.each do
316
- # # Work with items here...
317
- # end
318
- # end
319
- #
320
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#247
321
- def assert_select_email(&block); end
322
-
323
- # Extracts the content of an element, treats it as encoded HTML and runs
324
- # nested assertion on it.
325
- #
326
- # You typically call this method within another assertion to operate on
327
- # all currently selected elements. You can also pass an element or array
328
- # of elements.
329
- #
330
- # The content of each element is un-encoded, and wrapped in the root
331
- # element +encoded+. It then calls the block with all un-encoded elements.
332
- #
333
- # # Selects all bold tags from within the title of an Atom feed's entries (perhaps to nab a section name prefix)
334
- # assert_select "feed[xmlns='http://www.w3.org/2005/Atom']" do
335
- # # Select each entry item and then the title item
336
- # assert_select "entry>title" do
337
- # # Run assertions on the encoded title elements
338
- # assert_select_encoded do
339
- # assert_select "b"
340
- # end
341
- # end
342
- # end
343
- #
344
- #
345
- # # Selects all paragraph tags from within the description of an RSS feed
346
- # assert_select "rss[version=2.0]" do
347
- # # Select description element of each feed item.
348
- # assert_select "channel>item>description" do
349
- # # Run assertions on the encoded elements.
350
- # assert_select_encoded do
351
- # assert_select "p"
352
- # end
353
- # end
354
- # end
355
- #
356
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#211
357
- def assert_select_encoded(element = T.unsafe(nil), &block); end
358
-
359
- # Select and return all matching elements.
360
- #
361
- # If called with a single argument, uses that argument as a selector.
362
- # Called without an element +css_select+ selects from
363
- # the element returned in +document_root_element+
364
- #
365
- # The default implementation of +document_root_element+ raises an exception explaining this.
366
- #
367
- # Returns an empty Nokogiri::XML::NodeSet if no match is found.
368
- #
369
- # If called with two arguments, uses the first argument as the root
370
- # element and the second argument as the selector. Attempts to match the
371
- # root element and any of its children.
372
- # Returns an empty Nokogiri::XML::NodeSet if no match is found.
373
- #
374
- # The selector may be a CSS selector expression (String).
375
- # css_select returns nil if called with an invalid css selector.
376
- #
377
- # # Selects all div tags
378
- # divs = css_select("div")
379
- #
380
- # # Selects all paragraph tags and does something interesting
381
- # pars = css_select("p")
382
- # pars.each do |par|
383
- # # Do something fun with paragraphs here...
384
- # end
385
- #
386
- # # Selects all list items in unordered lists
387
- # items = css_select("ul>li")
388
- #
389
- # # Selects all form tags and then all inputs inside the form
390
- # forms = css_select("form")
391
- # forms.each do |form|
392
- # inputs = css_select(form, "input")
393
- # ...
394
- # end
395
- #
396
- # @raise [ArgumentError]
397
- #
398
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#59
399
- def css_select(*args); end
400
-
401
- private
402
-
403
- # +equals+ must contain :minimum, :maximum and :count keys
404
- #
405
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#270
406
- def assert_size_match!(size, equals, css_selector, message = T.unsafe(nil)); end
407
-
408
- # @raise [NotImplementedError]
409
- #
410
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#264
411
- def document_root_element; end
412
-
413
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#282
414
- def nest_selection(selection); end
415
-
416
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions.rb#291
417
- def nodeset(node); end
418
- end
419
-
420
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/count_describable.rb#8
421
- module Rails::Dom::Testing::Assertions::SelectorAssertions::CountDescribable
422
- extend ::ActiveSupport::Concern
423
-
424
- private
425
-
426
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/count_describable.rb#12
427
- def count_description(min, max, count); end
428
-
429
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/count_describable.rb#24
430
- def pluralize_element(quantity); end
431
- end
432
-
433
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/substitution_context.rb#1
434
- class SubstitutionContext
435
- # @return [SubstitutionContext] a new instance of SubstitutionContext
436
- #
437
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/substitution_context.rb#2
438
- def initialize; end
439
-
440
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/substitution_context.rb#16
441
- def match(matches, attribute, matcher); end
442
-
443
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/substitution_context.rb#6
444
- def substitute!(selector, values, format_for_presentation = T.unsafe(nil)); end
445
-
446
- private
447
-
448
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/substitution_context.rb#21
449
- def matcher_for(value, format_for_presentation); end
450
-
451
- # @return [Boolean]
452
- #
453
- # source://rails-dom-testing//lib/rails/dom/testing/assertions/selector_assertions/substitution_context.rb#30
454
- def substitutable?(value); end
455
- end