diff options
author | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-05-09 04:09:25 +0000 |
---|---|---|
committer | ryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-05-09 04:09:25 +0000 |
commit | a213c2ed9c84f0f64f0664e820227034d078f9f9 (patch) | |
tree | dbc503f2118fdb51f0c45ebf36ead1b799286468 /test | |
parent | 2dece928e085d25e8326455b9c0f508a2d70d02d (diff) | |
download | ruby-a213c2ed9c84f0f64f0664e820227034d078f9f9.tar.gz |
Imported minitest 3.0.0 (r7435) w/ fixes for rubygems. 10955 tests, 2253343 assertions, 1 failures, 1 errors, 28 skips minus drb tests on x86_64-darwin11.3.0 and reviewed by drbrain
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/minitest/metametameta.rb | 4 | ||||
-rw-r--r-- | test/minitest/test_minitest_mock.rb | 59 | ||||
-rw-r--r-- | test/minitest/test_minitest_unit.rb | 18 | ||||
-rw-r--r-- | test/rubygems/test_gem_platform.rb | 77 | ||||
-rw-r--r-- | test/rubygems/test_gem_remote_fetcher.rb | 17 |
5 files changed, 117 insertions, 58 deletions
diff --git a/test/minitest/metametameta.rb b/test/minitest/metametameta.rb index 035ee77ab4..609e551ff5 100644 --- a/test/minitest/metametameta.rb +++ b/test/minitest/metametameta.rb @@ -26,13 +26,15 @@ class MetaMetaMetaTestCase < MiniTest::Unit::TestCase output = @output.string.dup output.sub!(/Finished tests in .*/, "Finished tests in 0.00") output.sub!(/Loaded suite .*/, 'Loaded suite blah') - if /mswin|mingw/ =~ RUBY_PLATFORM + + if windows? then output.gsub!(/\[(?:[A-Za-z]:)?[^\]:]+:\d+\]/, '[FILE:LINE]') output.gsub!(/^(\s+)(?:[A-Za-z]:)?[^:]+:\d+:in/, '\1FILE:LINE:in') else output.gsub!(/\[[^\]:]+:\d+\]/, '[FILE:LINE]') output.gsub!(/^(\s+)[^:]+:\d+:in/, '\1FILE:LINE:in') end + assert_equal(expected, output) end diff --git a/test/minitest/test_minitest_mock.rb b/test/minitest/test_minitest_mock.rb index 02321e0f97..dcb140851a 100644 --- a/test/minitest/test_minitest_mock.rb +++ b/test/minitest/test_minitest_mock.rb @@ -210,3 +210,62 @@ class TestMiniTestMock < MiniTest::Unit::TestCase assert_equal exp, e.message end end + +require "test/minitest/metametameta" + +class TestMiniTestStub < MiniTest::Unit::TestCase + def setup + super + MiniTest::Unit::TestCase.reset + + @tc = MiniTest::Unit::TestCase.new 'fake tc' + @assertion_count = 1 + end + + def teardown + super + assert_equal @assertion_count, @tc._assertions + end + + def assert_stub val_or_callable + @assertion_count += 1 + + t = Time.now.to_i + + Time.stub :now, val_or_callable do + @tc.assert_equal 42, Time.now + end + + @tc.assert_operator Time.now.to_i, :>=, t + end + + def test_stub_value + assert_stub 42 + end + + def test_stub_block + assert_stub lambda { 42 } + end + + def test_stub_block_args + @assertion_count += 1 + + t = Time.now.to_i + + Time.stub :now, lambda { |n| n * 2 } do + @tc.assert_equal 42, Time.now(21) + end + + @tc.assert_operator Time.now.to_i, :>=, t + end + + def test_stub_callable + obj = Object.new + + def obj.call + 42 + end + + assert_stub obj + end +end diff --git a/test/minitest/test_minitest_unit.rb b/test/minitest/test_minitest_unit.rb index 1707810a4f..e13890f32f 100644 --- a/test/minitest/test_minitest_unit.rb +++ b/test/minitest/test_minitest_unit.rb @@ -6,7 +6,7 @@ ###################################################################### require 'pathname' -require File.expand_path('../metametameta', __FILE__) +require 'test/minitest/metametameta' module MyModule; end class AnError < StandardError; include MyModule; end @@ -706,13 +706,16 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase def test_assert_block exp = ["NOTE: MiniTest::Unit::TestCase#assert_block is deprecated,", - "use assert. It will be removed on or after 2012-06-01.\n"].join " " + "use assert. It will be removed on or after 2012-06-01."].join " " - assert_output "", exp do + out, err = capture_io do @tc.assert_block do true end end + + assert_equal "", out + assert_match exp, err end def test_assert_block_triggered @@ -952,15 +955,6 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase @tc.assert_match "blah", obj end - def test_assert_match_matchee_match - @assertion_count = 2 - - obj = Object.new - def obj.=~(o); true end - - @tc.assert_match "blah", obj - end - def test_assert_match_object_triggered @assertion_count = 2 diff --git a/test/rubygems/test_gem_platform.rb b/test/rubygems/test_gem_platform.rb index f3b94ea83d..0350d5f028 100644 --- a/test/rubygems/test_gem_platform.rb +++ b/test/rubygems/test_gem_platform.rb @@ -207,64 +207,71 @@ class TestGemPlatform < Gem::TestCase def test_equals_tilde util_set_arch 'i386-mswin32' - assert_match 'mswin32', Gem::Platform.local - assert_match 'i386-mswin32', Gem::Platform.local + assert_local_match 'mswin32' + assert_local_match 'i386-mswin32' # oddballs - assert_match 'i386-mswin32-mq5.3', Gem::Platform.local - assert_match 'i386-mswin32-mq6', Gem::Platform.local - refute_match 'win32-1.8.2-VC7', Gem::Platform.local - refute_match 'win32-1.8.4-VC6', Gem::Platform.local - refute_match 'win32-source', Gem::Platform.local - refute_match 'windows', Gem::Platform.local + assert_local_match 'i386-mswin32-mq5.3' + assert_local_match 'i386-mswin32-mq6' + refute_local_match 'win32-1.8.2-VC7' + refute_local_match 'win32-1.8.4-VC6' + refute_local_match 'win32-source' + refute_local_match 'windows' util_set_arch 'i686-linux' - assert_match 'i486-linux', Gem::Platform.local - assert_match 'i586-linux', Gem::Platform.local - assert_match 'i686-linux', Gem::Platform.local + assert_local_match 'i486-linux' + assert_local_match 'i586-linux' + assert_local_match 'i686-linux' util_set_arch 'i686-darwin8' - assert_match 'i686-darwin8.4.1', Gem::Platform.local - assert_match 'i686-darwin8.8.2', Gem::Platform.local + assert_local_match 'i686-darwin8.4.1' + assert_local_match 'i686-darwin8.8.2' util_set_arch 'java' - assert_match 'java', Gem::Platform.local - assert_match 'jruby', Gem::Platform.local + assert_local_match 'java' + assert_local_match 'jruby' util_set_arch 'universal-dotnet2.0' - assert_match 'universal-dotnet', Gem::Platform.local - assert_match 'universal-dotnet-2.0', Gem::Platform.local - refute_match 'universal-dotnet-4.0', Gem::Platform.local - assert_match 'dotnet', Gem::Platform.local - assert_match 'dotnet-2.0', Gem::Platform.local - refute_match 'dotnet-4.0', Gem::Platform.local + assert_local_match 'universal-dotnet' + assert_local_match 'universal-dotnet-2.0' + refute_local_match 'universal-dotnet-4.0' + assert_local_match 'dotnet' + assert_local_match 'dotnet-2.0' + refute_local_match 'dotnet-4.0' util_set_arch 'universal-dotnet4.0' - assert_match 'universal-dotnet', Gem::Platform.local - refute_match 'universal-dotnet-2.0', Gem::Platform.local - assert_match 'universal-dotnet-4.0', Gem::Platform.local - assert_match 'dotnet', Gem::Platform.local - refute_match 'dotnet-2.0', Gem::Platform.local - assert_match 'dotnet-4.0', Gem::Platform.local + assert_local_match 'universal-dotnet' + refute_local_match 'universal-dotnet-2.0' + assert_local_match 'universal-dotnet-4.0' + assert_local_match 'dotnet' + refute_local_match 'dotnet-2.0' + assert_local_match 'dotnet-4.0' util_set_arch 'universal-macruby-1.0' - assert_match 'universal-macruby', Gem::Platform.local - assert_match 'macruby', Gem::Platform.local - refute_match 'universal-macruby-0.10', Gem::Platform.local - assert_match 'universal-macruby-1.0', Gem::Platform.local + assert_local_match 'universal-macruby' + assert_local_match 'macruby' + refute_local_match 'universal-macruby-0.10' + assert_local_match 'universal-macruby-1.0' util_set_arch 'powerpc-darwin' - assert_match 'powerpc-darwin', Gem::Platform.local + assert_local_match 'powerpc-darwin' util_set_arch 'powerpc-darwin7' - assert_match 'powerpc-darwin7.9.0', Gem::Platform.local + assert_local_match 'powerpc-darwin7.9.0' util_set_arch 'powerpc-darwin8' - assert_match 'powerpc-darwin8.10.0', Gem::Platform.local + assert_local_match 'powerpc-darwin8.10.0' util_set_arch 'sparc-solaris2.8' - assert_match 'sparc-solaris2.8-mq5.3', Gem::Platform.local + assert_local_match 'sparc-solaris2.8-mq5.3' end + def assert_local_match name + assert_match Gem::Platform.local, name + end + + def refute_local_match name + refute_match Gem::Platform.local, name + end end diff --git a/test/rubygems/test_gem_remote_fetcher.rb b/test/rubygems/test_gem_remote_fetcher.rb index 495c28727c..30d49f61cb 100644 --- a/test/rubygems/test_gem_remote_fetcher.rb +++ b/test/rubygems/test_gem_remote_fetcher.rb @@ -1,10 +1,7 @@ require 'rubygems/test_case' require 'ostruct' require 'webrick' -begin - require 'webrick/https' -rescue LoadError -end +require 'webrick/https' require 'rubygems/remote_fetcher' require 'rubygems/format' @@ -752,7 +749,7 @@ gems: with_configured_fetcher(":ssl_ca_cert: #{temp_ca_cert}") do |fetcher| fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") end - end if defined?(OpenSSL::PKey) + end def test_do_not_allow_insecure_ssl_connection_by_default ssl_server = self.class.start_ssl_server @@ -761,14 +758,14 @@ gems: fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") end end - end if defined?(OpenSSL::PKey) + end def test_ssl_connection_allow_verify_none ssl_server = self.class.start_ssl_server with_configured_fetcher(":ssl_verify_mode: 0") do |fetcher| fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") end - end if defined?(OpenSSL::PKey) + end def test_do_not_follow_insecure_redirect ssl_server = self.class.start_ssl_server @@ -778,7 +775,7 @@ gems: fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/insecure_redirect?to=#{@server_uri}") end end - end if defined?(OpenSSL::PKey) + end def with_configured_fetcher(config_str = nil, &block) if config_str @@ -856,7 +853,7 @@ gems: end DIR = File.expand_path(File.dirname(__FILE__)) - DH_PARAM = defined?(OpenSSL::PKey) ? OpenSSL::PKey::DH.new(128) : nil + DH_PARAM = OpenSSL::PKey::DH.new(128) def start_ssl_server(config = {}) null_logger = NilLog.new @@ -894,7 +891,7 @@ gems: end end server - end if DH_PARAM + end |