From 4de117a61517e839f2c45eaf45d56fc243d6d5b2 Mon Sep 17 00:00:00 2001 From: hsbt Date: Sun, 14 Sep 2014 03:30:02 +0000 Subject: * lib/rubygems: Update to RubyGems 2.4.1 master(713ab65) Complete history at: https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216 * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/test_gem_server.rb | 73 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 4 deletions(-) (limited to 'test/rubygems/test_gem_server.rb') diff --git a/test/rubygems/test_gem_server.rb b/test/rubygems/test_gem_server.rb index b55b019268..964048615c 100644 --- a/test/rubygems/test_gem_server.rb +++ b/test/rubygems/test_gem_server.rb @@ -10,8 +10,9 @@ class TestGemServer < Gem::TestCase def setup super - @a1 = quick_gem 'a', '1' - @a2 = quick_gem 'a', '2' + @a1 = quick_gem 'a', '1' + @a2 = quick_gem 'a', '2' + @a3_p = quick_gem 'a', '3.a' @server = Gem::Server.new Gem.dir, process_based_port, false @req = WEBrick::HTTPRequest.new :Logger => nil @@ -144,6 +145,36 @@ class TestGemServer < Gem::TestCase assert_equal 2, @server.server.listeners.length end + def test_prerelease_specs + data = StringIO.new "GET /prerelease_specs.#{Gem.marshal_version} HTTP/1.0\r\n\r\n" + @req.parse data + + Gem::Deprecate.skip_during do + @server.prerelease_specs @req, @res + end + + assert_equal 200, @res.status, @res.body + assert_match %r| \d\d:\d\d:\d\d |, @res['date'] + assert_equal 'application/octet-stream', @res['content-type'] + assert_equal [['a', v('3.a'), Gem::Platform::RUBY]], + Marshal.load(@res.body) + end + + def test_prerelease_specs_gz + data = StringIO.new "GET /prerelease_specs.#{Gem.marshal_version}.gz HTTP/1.0\r\n\r\n" + @req.parse data + + Gem::Deprecate.skip_during do + @server.prerelease_specs @req, @res + end + + assert_equal 200, @res.status, @res.body + assert_match %r| \d\d:\d\d:\d\d |, @res['date'] + assert_equal 'application/x-gzip', @res['content-type'] + assert_equal [['a', v('3.a'), Gem::Platform::RUBY]], + Marshal.load(Gem.gunzip(@res.body)) + end + def test_quick_gemdirs data = StringIO.new "GET /quick/Marshal.4.8/z-9.gemspec.rz HTTP/1.0\r\n\r\n" dir = "#{@gemhome}2" @@ -223,6 +254,38 @@ class TestGemServer < Gem::TestCase assert_equal Gem::Platform.local, spec.platform end + def test_quick_marshal_a_3_a_gemspec_rz + data = StringIO.new "GET /quick/Marshal.#{Gem.marshal_version}/a-3.a.gemspec.rz HTTP/1.0\r\n\r\n" + @req.parse data + + @server.quick @req, @res + + assert_equal 200, @res.status, @res.body + assert @res['date'] + assert_equal 'application/x-deflate', @res['content-type'] + + spec = Marshal.load Gem.inflate(@res.body) + assert_equal 'a', spec.name + assert_equal v('3.a'), spec.version + end + + def test_quick_marshal_a_b_3_a_gemspec_rz + quick_gem 'a-b', '3.a' + + data = StringIO.new "GET /quick/Marshal.#{Gem.marshal_version}/a-b-3.a.gemspec.rz HTTP/1.0\r\n\r\n" + @req.parse data + + @server.quick @req, @res + + assert_equal 200, @res.status, @res.body + assert @res['date'] + assert_equal 'application/x-deflate', @res['content-type'] + + spec = Marshal.load Gem.inflate(@res.body) + assert_equal 'a-b', spec.name + assert_equal v('3.a'), spec.version + end + def test_rdoc data = StringIO.new "GET /rdoc?q=a HTTP/1.0\r\n\r\n" @req.parse data @@ -279,7 +342,8 @@ class TestGemServer < Gem::TestCase assert_equal 'application/octet-stream', @res['content-type'] assert_equal [['a', Gem::Version.new(1), Gem::Platform::RUBY], - ['a', Gem::Version.new(2), Gem::Platform::RUBY]], + ['a', Gem::Version.new(2), Gem::Platform::RUBY], + ['a', v('3.a'), Gem::Platform::RUBY]], Marshal.load(@res.body) end @@ -318,7 +382,8 @@ class TestGemServer < Gem::TestCase assert_equal 'application/x-gzip', @res['content-type'] assert_equal [['a', Gem::Version.new(1), Gem::Platform::RUBY], - ['a', Gem::Version.new(2), Gem::Platform::RUBY]], + ['a', Gem::Version.new(2), Gem::Platform::RUBY], + ['a', v('3.a'), Gem::Platform::RUBY]], Marshal.load(Gem.gunzip(@res.body)) end -- cgit v1.2.3