Sha256: 0c2b688c8d38c9aabcdecc938cfa3dc2ac47a1cdaba5a40292979a010ce737bd

Contents?: true

Size: 1.44 KB

Versions: 8

Compression:

Stored size: 1.44 KB

Contents

require 'test_helper'

class TestOtherNetHttpLibraries < Test::Unit::TestCase

  def capture_output_from_requiring(libs, additional_code = "")
    requires = libs.map { |lib| "require '#{lib}'" }.join("; ")
    fakeweb_dir = "#{File.dirname(__FILE__)}/../lib"
    vendor_dirs = Dir["#{File.dirname(__FILE__)}/vendor/*/lib"]
    load_path_opts = vendor_dirs.unshift(fakeweb_dir).map { |dir| "-I#{dir}" }.join(" ")

    `#{ruby_path} #{load_path_opts} -e "#{requires}; #{additional_code}" 2>&1`
  end

  def test_requiring_samuel_before_fakeweb_prints_warning
    output = capture_output_from_requiring %w(samuel fakeweb)
    assert_match %r(Warning: FakeWeb was loaded after Samuel), output
  end

  def test_requiring_samuel_after_fakeweb_does_not_print_warning
    output = capture_output_from_requiring %w(fakeweb samuel)
    assert output.empty?
  end

  def test_requiring_right_http_connection_before_fakeweb_and_then_connecting_does_not_print_warning
    additional_code = "Net::HTTP.start('example.com')"
    output = capture_output_from_requiring %w(right_http_connection fakeweb), additional_code
    assert output.empty?
  end

  def test_requiring_right_http_connection_after_fakeweb_and_then_connecting_prints_warning
    additional_code = "Net::HTTP.start('example.com')"
    output = capture_output_from_requiring %w(fakeweb right_http_connection), additional_code
    assert_match %r(Warning: RightHttpConnection was loaded after FakeWeb), output
  end

end

Version data entries

8 entries across 8 versions & 5 rubygems

Version Path
messagebus_ruby_api-0.4.7 spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_other_net_http_libraries.rb
messagebus_ruby_api-0.4.4 spec/ruby/1.9.1/gems/fakeweb-1.3.0/test/test_other_net_http_libraries.rb
putio-0.0.1.pre2 development/ruby/1.8/gems/fakeweb-1.3.0/test/test_other_net_http_libraries.rb
putio-0.0.1.pre development/ruby/1.8/gems/fakeweb-1.3.0/test/test_other_net_http_libraries.rb
cotweet-fakeweb-1.3.0 test/test_other_net_http_libraries.rb
fakeweb-1.3.0 test/test_other_net_http_libraries.rb
corntrace-fakeweb-1.2.9 test/test_other_net_http_libraries.rb
fakeweb-1.2.8 test/test_other_net_http_libraries.rb