mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 b7528b5edb
			
		
	
	
		b7528b5edb
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'rubygems'
 | |
| require 'minitest/autorun'
 | |
| require 'rdoc/rdoc'
 | |
| require 'rdoc/generator/ri'
 | |
| require 'tmpdir'
 | |
| require 'fileutils'
 | |
| 
 | |
| class TestRDocGeneratorRI < MiniTest::Unit::TestCase
 | |
| 
 | |
|   def setup
 | |
|     @options = RDoc::Options.new
 | |
|     @options.encoding = Encoding::UTF_8 if Object.const_defined? :Encoding
 | |
| 
 | |
|     @pwd = Dir.pwd
 | |
|     RDoc::TopLevel.reset
 | |
| 
 | |
|     @tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_ri_#{$$}"
 | |
|     FileUtils.mkdir_p @tmpdir
 | |
|     Dir.chdir @tmpdir
 | |
| 
 | |
|     @g = RDoc::Generator::RI.new @options
 | |
| 
 | |
|     @top_level = RDoc::TopLevel.new 'file.rb'
 | |
|     @klass = @top_level.add_class RDoc::NormalClass, 'Object'
 | |
| 
 | |
|     @meth = RDoc::AnyMethod.new nil, 'method'
 | |
|     @meth.record_location @top_level
 | |
| 
 | |
|     @meth_bang = RDoc::AnyMethod.new nil, 'method!'
 | |
|     @meth_bang.record_location @top_level
 | |
| 
 | |
|     @attr = RDoc::Attr.new nil, 'attr', 'RW', ''
 | |
|     @attr.record_location @top_level
 | |
| 
 | |
|     @klass.add_method @meth
 | |
|     @klass.add_method @meth_bang
 | |
|     @klass.add_attribute @attr
 | |
|   end
 | |
| 
 | |
|   def teardown
 | |
|     Dir.chdir @pwd
 | |
|     FileUtils.rm_rf @tmpdir
 | |
|   end
 | |
| 
 | |
|   def assert_file path
 | |
|     assert File.file?(path), "#{path} is not a file"
 | |
|   end
 | |
| 
 | |
|   def refute_file path
 | |
|     refute File.exist?(path), "#{path} exists"
 | |
|   end
 | |
| 
 | |
|   def test_generate
 | |
|     @g.generate nil
 | |
| 
 | |
|     assert_file File.join(@tmpdir, 'cache.ri')
 | |
| 
 | |
|     assert_file File.join(@tmpdir, 'Object', 'cdesc-Object.ri')
 | |
| 
 | |
|     assert_file File.join(@tmpdir, 'Object', 'attr-i.ri')
 | |
|     assert_file File.join(@tmpdir, 'Object', 'method-i.ri')
 | |
|     assert_file File.join(@tmpdir, 'Object', 'method%21-i.ri')
 | |
| 
 | |
|     store = RDoc::RI::Store.new @tmpdir
 | |
|     store.load_cache
 | |
| 
 | |
|     encoding = Object.const_defined?(:Encoding) ? Encoding::UTF_8 : nil
 | |
| 
 | |
|     assert_equal encoding, store.encoding
 | |
|   end
 | |
| 
 | |
|   def test_generate_dry_run
 | |
|     @options.dry_run = true
 | |
|     @g = RDoc::Generator::RI.new @options
 | |
| 
 | |
|     top_level = RDoc::TopLevel.new 'file.rb'
 | |
|     top_level.add_class @klass.class, @klass.name
 | |
| 
 | |
|     @g.generate nil
 | |
| 
 | |
|     refute_file File.join(@tmpdir, 'cache.ri')
 | |
| 
 | |
|     refute_file File.join(@tmpdir, 'Object')
 | |
|   end
 | |
| 
 | |
| end
 | |
| 
 |