Shopify / ruby-lsp-rails

A Ruby LSP addon for Rails
https://shopify.github.io/ruby-lsp-rails/
MIT License
518 stars 21 forks source link

Don't push group id to stack when encountering non-test classes #324

Closed st0012 closed 3 months ago

st0012 commented 3 months ago

Some tests use classes instead of modules for namespacing, such us:

module Foo
  class Bar
    class MyTest < ActiveSupport::TestCase
      test "something" do
      end
    end
  end
end

And when this happens, the current implementation would still push the group id to the stack, which would cause the first test group (MyTest) to already have non-nil group id. This will make the extension to think there's another parent test group, which is not the case and will cause no code lens to be shown.

This commit fixes this by not pushing the group id to the stack when encountering non-test classes, and only pop the group id when the encountered class is a test class.