Skip to content

Commit 9acc3ff

Browse files
authored
Ensure we're keeping track of module nesting (#620)
1 parent 0f03181 commit 9acc3ff

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

lib/ruby_lsp/ruby_lsp_rails/rails_test_style.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ def on_class_node_leave(node)
9494
#: (Prism::ModuleNode node) -> void
9595
def on_module_node_enter(node)
9696
@parent_stack << nil
97+
super
9798
end
9899

99100
#: (Prism::ModuleNode node) -> void

test/ruby_lsp_rails/rails_test_style_test.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,25 @@ class AnotherGroupTest < ActiveSupport::TestCase
318318
end
319319
end
320320

321+
test "namespaced test" do
322+
source = <<~RUBY
323+
module Foo
324+
class SampleTest < ActiveSupport::TestCase
325+
test "do something" do
326+
end
327+
end
328+
end
329+
RUBY
330+
331+
with_active_support_declarative_tests(source) do |items|
332+
assert_equal(["Foo::SampleTest"], items.map { |i| i[:id] })
333+
assert_equal(
334+
["Foo::SampleTest#test_do_something"],
335+
items.dig(0, :children).map { |i| i[:id] },
336+
)
337+
end
338+
end
339+
321340
private
322341

323342
def with_active_support_declarative_tests(source, file: "/fake.rb", &block)

0 commit comments

Comments
 (0)