mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			914 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			914 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: false
 | 
						|
require 'test/unit'
 | 
						|
require 'set'
 | 
						|
 | 
						|
class TC_SortedSet < Test::Unit::TestCase
 | 
						|
  def base_dir
 | 
						|
    "#{__dir__}/../lib"
 | 
						|
  end
 | 
						|
 | 
						|
  def assert_runs(ruby, options: nil)
 | 
						|
    options = ['-I', base_dir, *options]
 | 
						|
    r = system(RbConfig.ruby, *options, '-e', ruby)
 | 
						|
    assert(r)
 | 
						|
  end
 | 
						|
 | 
						|
  def test_error
 | 
						|
    assert_runs <<~RUBY
 | 
						|
      require "set"
 | 
						|
 | 
						|
      r = begin
 | 
						|
        puts SortedSet.new
 | 
						|
      rescue Exception => e
 | 
						|
        e.message
 | 
						|
      end
 | 
						|
      raise r unless r.match?(/has been extracted/)
 | 
						|
    RUBY
 | 
						|
  end
 | 
						|
 | 
						|
  def test_ok_with_gem
 | 
						|
    assert_runs <<~RUBY, options: ['-I', "#{__dir__}/fixtures/fake_sorted_set_gem"]
 | 
						|
      require "set"
 | 
						|
 | 
						|
      var = SortedSet.new.to_s
 | 
						|
    RUBY
 | 
						|
  end
 | 
						|
 | 
						|
  def test_ok_require
 | 
						|
    assert_runs <<~RUBY, options: ['-I', "#{__dir__}/fixtures/fake_sorted_set_gem"]
 | 
						|
      require "set"
 | 
						|
      require "sorted_set"
 | 
						|
 | 
						|
      var = SortedSet.new.to_s
 | 
						|
    RUBY
 | 
						|
  end
 | 
						|
end
 |