File tree Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 1010require_relative 'rubocop/rspec/inject'
1111require_relative 'rubocop/rspec/node'
1212require_relative 'rubocop/rspec/top_level_describe'
13- require_relative 'rubocop/rspec/top_level_group'
1413require_relative 'rubocop/rspec/wording'
1514require_relative 'rubocop/rspec/language'
1615require_relative 'rubocop/rspec/language/node_pattern'
16+ require_relative 'rubocop/rspec/top_level_group'
1717require_relative 'rubocop/rspec/concept'
1818require_relative 'rubocop/rspec/example_group'
1919require_relative 'rubocop/rspec/example'
Original file line number Diff line number Diff line change @@ -4,6 +4,14 @@ module RuboCop
44 module RSpec
55 # Helper methods for top level example group cops
66 module TopLevelGroup
7+ extend NodePattern ::Macros
8+
9+ def_node_matcher :example_or_shared_group? ,
10+ (
11+ Language ::ExampleGroups ::ALL +
12+ Language ::SharedGroups ::ALL
13+ ) . block_pattern
14+
715 def on_block ( node )
816 return unless respond_to? ( :on_top_level_group )
917 return unless top_level_group? ( node )
@@ -18,7 +26,8 @@ def top_level_group?(node)
1826 end
1927
2028 def top_level_groups
21- @top_level_groups ||= top_level_nodes . select { |n | example_group? ( n ) }
29+ @top_level_groups ||= \
30+ top_level_nodes . select { |n | example_or_shared_group? ( n ) }
2231 end
2332
2433 def top_level_nodes
Original file line number Diff line number Diff line change 349349 context xcontext fcontext
350350 feature xfeature ffeature
351351 example_group
352+ shared_examples shared_examples_for shared_context
352353 ] . each do |method |
353354 it "flags in top level #{ method } " do
354355 expect_offense ( <<-RUBY )
You can’t perform that action at this time.
0 commit comments