Sha256: 83e5bda575dae41e4cd9cb2ee943389156b7c37079282b1f75d8de631f86bf50

Contents?: true

Size: 1.93 KB

Versions: 9

Compression:

Stored size: 1.93 KB

Contents

require 'rdoc/test_case'

class TestRDocGeneratorRI < RDoc::TestCase

  def setup
    super

    @options = RDoc::Options.new
    if Object.const_defined? :Encoding then
      @options.encoding = Encoding::UTF_8
      @store.encoding = Encoding::UTF_8
    end

    @tmpdir = File.join Dir.tmpdir, "test_rdoc_generator_ri_#{$$}"
    FileUtils.mkdir_p @tmpdir

    @g = RDoc::Generator::RI.new @store, @options

    @top_level = @store.add_file '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

    Dir.chdir @tmpdir
  end

  def teardown
    super

    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

    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
    @store.dry_run = true
    @g = RDoc::Generator::RI.new @store, @options

    top_level = @store.add_file 'file.rb'
    top_level.add_class @klass.class, @klass.name

    @g.generate

    refute_file File.join(@tmpdir, 'cache.ri')
    refute_file File.join(@tmpdir, 'Object')
  end

end

Version data entries

9 entries across 7 versions & 2 rubygems

Version Path
candlepin-api-0.4.0 bundle/ruby/1.8/gems/rdoc-4.0.1/test/test_rdoc_generator_ri.rb
candlepin-api-0.4.0 bundle/ruby/gems/rdoc-4.0.1/test/test_rdoc_generator_ri.rb
candlepin-api-0.4.0 bundle/ruby/1.9.1/gems/rdoc-4.0.1/test/test_rdoc_generator_ri.rb
rdoc-4.0.1 test/test_rdoc_generator_ri.rb
rdoc-4.0.0 test/test_rdoc_generator_ri.rb
rdoc-4.0.0.rc.2.1 test/test_rdoc_generator_ri.rb
rdoc-4.0.0.rc.2 test/test_rdoc_generator_ri.rb
rdoc-4.0.0.preview2.1 test/test_rdoc_generator_ri.rb
rdoc-4.0.0.preview2 test/test_rdoc_generator_ri.rb