Sha256: c87e4782b09f126b9e53a11bd73f45f38974b6e5b88accbb17863e9cba5491c4

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

# typed: true
# frozen_string_literal: true

require "test_helper"

module RubyIndexer
  class TestCase < Minitest::Test
    def setup
      @index = Index.new
    end

    private

    def index(source)
      @index.index_single("/fake/path/foo.rb", source)
    end

    def assert_entry(expected_name, type, expected_location)
      entries = @index[expected_name]
      refute_empty(entries, "Expected #{expected_name} to be indexed")

      entry = entries.first
      assert_instance_of(type, entry, "Expected #{expected_name} to be a #{type}")

      location = entry.location
      location_string =
        "#{entry.file_path}:#{location.start_line - 1}-#{location.start_column}" \
          ":#{location.end_line - 1}-#{location.end_column}"

      assert_equal(expected_location, location_string)
    end

    def refute_entry(expected_name)
      entries = @index[expected_name]
      assert_nil(entries, "Expected #{expected_name} to not be indexed")
    end

    def assert_no_entry
      assert_empty(@index.instance_variable_get(:@entries), "Expected nothing to be indexed")
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby-lsp-0.9.3 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.9.2 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.9.1 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.9.0 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.8.1 lib/ruby_indexer/test/test_case.rb