class RubyIndexer::EnhancementTest
def test_creating_anonymous_classes_from_enhancement
def test_creating_anonymous_classes_from_enhancement Class.new(Enhancement) do def on_call_node_enter(call_node) # rubocop:disable RubyLsp/UseRegisterWithHandlerMethod case call_node.name when :context arguments = call_node.arguments&.arguments first_argument = arguments&.first return unless first_argument.is_a?(Prism::StringNode) @listener.add_class( "<RSpec:#{first_argument.content}>", call_node.location, first_argument.location, ) when :subject @listener.add_method("subject", call_node.location, []) end end def on_call_node_leave(call_node) # rubocop:disable RubyLsp/UseRegisterWithHandlerMethod return unless call_node.name == :context @listener.pop_namespace_stack end end index(<<~RUBY) context "does something" do subject { call_whatever } end RUBY refute_nil(@index.resolve_method("subject", "<RSpec:does something>")) end