From 1dfe3d93fa5d9ddabae8db067c5705ea6e551442 Mon Sep 17 00:00:00 2001 From: drbrain Date: Fri, 14 Dec 2012 05:09:37 +0000 Subject: * lib/rubygems/commands/rdoc_command.rb: When overwriting documentation, remove existing documentation first. * lib/rubygems/server.rb: Fixed documentation links. * test/rubygems/test_gem_server.rb: Test for the above. * lib/rubygems/rdoc.rb: Reduced diff with RDoc::RubyGemsHook * test/rubygems/test_gem_rdoc.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/rubygems/test_gem_rdoc.rb | 103 ++++++++++++++++++++++----------------- test/rubygems/test_gem_server.rb | 8 ++- 2 files changed, 65 insertions(+), 46 deletions(-) (limited to 'test') diff --git a/test/rubygems/test_gem_rdoc.rb b/test/rubygems/test_gem_rdoc.rb index f8ca1d7a0d..2d279e3372 100644 --- a/test/rubygems/test_gem_rdoc.rb +++ b/test/rubygems/test_gem_rdoc.rb @@ -1,5 +1,5 @@ -require 'rubygems/test_case' require 'rubygems' +require 'rubygems/test_case' require 'rubygems/rdoc' class TestGemRDoc < Gem::TestCase @@ -9,9 +9,17 @@ class TestGemRDoc < Gem::TestCase def setup super - @a = quick_spec 'a' + @a = quick_spec 'a' do |s| + s.rdoc_options = %w[--main MyTitle] + s.extra_rdoc_files = %w[README] + end + + write_file File.join(@tempdir, 'lib', 'a.rb') + write_file File.join(@tempdir, 'README') - @rdoc = Gem::RDoc.new @a + install_gem @a + + @hook = Gem::RDoc.new @a begin Gem::RDoc.load_rdoc @@ -27,16 +35,16 @@ class TestGemRDoc < Gem::TestCase # shipped for backwards compatibility. def rdoc_3? - Gem::Requirement.new('~> 3.0').satisfied_by? @rdoc.class.rdoc_version + Gem::Requirement.new('~> 3.0').satisfied_by? @hook.class.rdoc_version end def rdoc_3_8_or_better? - Gem::Requirement.new('>= 3.8').satisfied_by? @rdoc.class.rdoc_version + Gem::Requirement.new('>= 3.8').satisfied_by? @hook.class.rdoc_version end def test_initialize - assert @rdoc.generate_rdoc - assert @rdoc.generate_ri + assert @hook.generate_rdoc + assert @hook.generate_ri rdoc = Gem::RDoc.new @a, false, false @@ -52,7 +60,7 @@ class TestGemRDoc < Gem::TestCase -p ] - @rdoc.delete_legacy_args args + @hook.delete_legacy_args args assert_empty args end @@ -63,12 +71,13 @@ class TestGemRDoc < Gem::TestCase options = RDoc::Options.new options.files = [] - @rdoc.instance_variable_set :@rdoc, @rdoc.new_rdoc - @rdoc.instance_variable_set :@file_info, [] + rdoc = @hook.new_rdoc + @hook.instance_variable_set :@rdoc, rdoc + @hook.instance_variable_set :@file_info, [] - @rdoc.document 'darkfish', options, @a.doc_dir('rdoc') + @hook.document 'darkfish', options, @a.doc_dir('rdoc') - assert @rdoc.rdoc_installed? + assert @hook.rdoc_installed? end unless rdoc_4 def test_generate @@ -77,12 +86,12 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.generate + @hook.generate - assert @rdoc.rdoc_installed? - assert @rdoc.ri_installed? + assert @hook.rdoc_installed? + assert @hook.ri_installed? - rdoc = @rdoc.instance_variable_get :@rdoc + rdoc = @hook.instance_variable_get :@rdoc refute rdoc.options.hyperlink_all end unless rdoc_4 @@ -95,9 +104,9 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.generate + @hook.generate - rdoc = @rdoc.instance_variable_get :@rdoc + rdoc = @hook.instance_variable_get :@rdoc assert rdoc.options.hyperlink_all end unless rdoc_4 @@ -110,21 +119,21 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.generate + @hook.generate - rdoc = @rdoc.instance_variable_get :@rdoc + rdoc = @hook.instance_variable_get :@rdoc assert rdoc.options.hyperlink_all end unless rdoc_4 def test_generate_disabled - @rdoc.generate_rdoc = false - @rdoc.generate_ri = false + @hook.generate_rdoc = false + @hook.generate_ri = false - @rdoc.generate + @hook.generate - refute @rdoc.rdoc_installed? - refute @rdoc.ri_installed? + refute @hook.rdoc_installed? + refute @hook.ri_installed? end def test_generate_force @@ -134,9 +143,9 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir 'rdoc' FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.force = true + @hook.force = true - @rdoc.generate + @hook.generate assert_path_exists File.join(@a.doc_dir('rdoc'), 'index.html') assert_path_exists File.join(@a.doc_dir('ri'), 'cache.ri') @@ -149,7 +158,7 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir 'rdoc' FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.generate + @hook.generate refute_path_exists File.join(@a.doc_dir('rdoc'), 'index.html') refute_path_exists File.join(@a.doc_dir('ri'), 'cache.ri') @@ -161,10 +170,10 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.generate_legacy + @hook.generate_legacy - assert @rdoc.rdoc_installed? - assert @rdoc.ri_installed? + assert @hook.rdoc_installed? + assert @hook.ri_installed? end unless rdoc_4 def test_legacy_rdoc @@ -173,31 +182,31 @@ class TestGemRDoc < Gem::TestCase FileUtils.mkdir_p @a.doc_dir FileUtils.mkdir_p File.join(@a.gem_dir, 'lib') - @rdoc.legacy_rdoc '--op', @a.doc_dir('rdoc') + @hook.legacy_rdoc '--op', @a.doc_dir('rdoc') - assert @rdoc.rdoc_installed? + assert @hook.rdoc_installed? end unless rdoc_4 def test_new_rdoc - assert_kind_of RDoc::RDoc, @rdoc.new_rdoc + assert_kind_of RDoc::RDoc, @hook.new_rdoc end def test_rdoc_installed? - refute @rdoc.rdoc_installed? + refute @hook.rdoc_installed? FileUtils.mkdir_p @a.doc_dir 'rdoc' - assert @rdoc.rdoc_installed? + assert @hook.rdoc_installed? end def test_remove FileUtils.mkdir_p @a.doc_dir 'rdoc' FileUtils.mkdir_p @a.doc_dir 'ri' - @rdoc.remove + @hook.remove - refute @rdoc.rdoc_installed? - refute @rdoc.ri_installed? + refute @hook.rdoc_installed? + refute @hook.ri_installed? assert_path_exists @a.doc_dir end @@ -208,7 +217,7 @@ class TestGemRDoc < Gem::TestCase FileUtils.chmod 0, @a.base_dir e = assert_raises Gem::FilePermissionError do - @rdoc.remove + @hook.remove end assert_equal @a.base_dir, e.directory @@ -217,15 +226,15 @@ class TestGemRDoc < Gem::TestCase end def test_ri_installed? - refute @rdoc.ri_installed? + refute @hook.ri_installed? FileUtils.mkdir_p @a.doc_dir 'ri' - assert @rdoc.ri_installed? + assert @hook.ri_installed? end def test_setup - @rdoc.setup + @hook.setup assert_path_exists @a.doc_dir end @@ -236,12 +245,16 @@ class TestGemRDoc < Gem::TestCase FileUtils.chmod 0, @a.doc_dir e = assert_raises Gem::FilePermissionError do - @rdoc.setup + @hook.setup end assert_equal @a.doc_dir, e.directory ensure - FileUtils.chmod(0755, @a.doc_dir) if File.directory?(@a.doc_dir) + if File.exist? @a.doc_dir + FileUtils.chmod 0755, @a.doc_dir + FileUtils.rm_r @a.doc_dir + end end end + diff --git a/test/rubygems/test_gem_server.rb b/test/rubygems/test_gem_server.rb index 1c94144913..d50d3525ff 100644 --- a/test/rubygems/test_gem_server.rb +++ b/test/rubygems/test_gem_server.rb @@ -40,7 +40,7 @@ class TestGemServer < Gem::TestCase def test_have_rdoc_4_plus_eh orig_rdoc_version = Gem::RDoc.rdoc_version - Gem::RDoc.instance_variable_set :@rdoc_version, Gem::Version.new('4.0') + Gem::RDoc.instance_variable_set(:@rdoc_version, Gem::Version.new('4.0')) server = Gem::Server.new Gem.dir, 0, false assert server.have_rdoc_4_plus? @@ -49,6 +49,12 @@ class TestGemServer < Gem::TestCase server = Gem::Server.new Gem.dir, 0, false refute server.have_rdoc_4_plus? + + Gem::RDoc.instance_variable_set(:@rdoc_version, + Gem::Version.new('4.0.0.preview2')) + + server = Gem::Server.new Gem.dir, 0, false + assert server.have_rdoc_4_plus? ensure Gem::RDoc.instance_variable_set :@rdoc_version, orig_rdoc_version end -- cgit v1.2.3