Sha256: 10f7bb4f3b5cb1e535c39f090297fcbdfaaa5bb9001ab0053fcddbf9b5c11992

Contents?: true

Size: 1.49 KB

Versions: 28

Compression:

Stored size: 1.49 KB

Contents

# typed: true
# frozen_string_literal: true

require "test_helper"

module RubyIndexer
  class TestCase < Minitest::Test
    def setup
      @index = Index.new
      RBSIndexer.new(@index).index_ruby_core
      @default_indexed_entries = @index.instance_variable_get(:@entries).dup
    end

    private

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

    def assert_entry(expected_name, type, expected_location, visibility: nil)
      entries = @index[expected_name]
      refute_nil(entries, "Expected #{expected_name} to be indexed")
      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)

      assert_equal(visibility, entry.visibility) if visibility
    end

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

    def assert_no_indexed_entries
      assert_equal(@default_indexed_entries, @index.instance_variable_get(:@entries))
    end

    def assert_no_entry(entry)
      refute(@index.indexed?(entry), "Expected '#{entry}' to not be indexed")
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
ruby-lsp-0.22.1 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.22.0 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.21.3 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.21.2 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.21.1 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.21.0 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.20.1 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.20.0 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.19.1 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.19.0 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.18.4 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.18.3 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.18.2 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.18.1 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.18.0 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.17.17 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.17.16 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.17.15 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.17.14 lib/ruby_indexer/test/test_case.rb
ruby-lsp-0.17.13 lib/ruby_indexer/test/test_case.rb