class RubyIndexer::ReferenceFinderTest

def test_finds_instance_variable_write_references

def test_finds_instance_variable_write_references
  refs = find_instance_variable_references("@foo", ["Foo"], <<~RUBY)
    class Foo
      def write
        @foo = 1
        @foo &&= 2
        @foo ||= 3
        @foo += 4
        @foo, @bar = []
      end
    end
  RUBY
  assert_equal(5, refs.size)
  assert_equal(["@foo"], refs.map(&:name).uniq)
  assert_equal(3, refs[0].location.start_line)
  assert_equal(4, refs[1].location.start_line)
  assert_equal(5, refs[2].location.start_line)
  assert_equal(6, refs[3].location.start_line)
  assert_equal(7, refs[4].location.start_line)
end