summaryrefslogtreecommitdiff
path: root/test/-ext-/load/test_resolve_symbol.rb
blob: 471d3acebdb40fe324c57b918df58dd8276285f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true
require 'test/unit'

class Test_Load_ResolveSymbol < Test::Unit::TestCase
  def test_load_resolve_symbol_resolver
    assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
    begin;
      feature = "Feature #20005"
      assert_raise(LoadError, "resolve_symbol_target is not loaded") {
        require '-test-/load/resolve_symbol_resolver'
      }
      require '-test-/load/resolve_symbol_target'
      assert_nothing_raised(LoadError, "#{feature} resolver can be loaded") {
        require '-test-/load/resolve_symbol_resolver'
      }
      assert_not_nil ResolveSymbolResolver
      assert_equal "from target", ResolveSymbolResolver.any_method

      assert_raise(LoadError, "tries to resolve missing feature name, and it should raise LoadError") {
        ResolveSymbolResolver.try_resolve_fname
      }
      assert_raise(LoadError, "tries to resolve missing symbol name, and it should raise LoadError") {
        ResolveSymbolResolver.try_resolve_sname
      }
    end;
  end
end