123456789_123456789_123456789_123456789_123456789_

Class: RDoc::TestCase

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, MiniTest::Unit::TestCase
Instance Chain:
self, MiniTest::Unit::TestCase
Inherits: MiniTest::Unit::TestCase
  • Object
Defined in: lib/rdoc/test_case.rb

Overview

TestCase is an abstract TestCase to provide common setup and teardown across all RDoc tests. The test case uses minitest, so all the assertions of minitest may be used.

The testcase provides the following:

  • A reset code-object tree

  • A reset markup preprocessor (RDoc::Markup::PreProcess)

  • The @RM alias of Markup (for less typing)

  • @pwd containing the current working directory

  • FileUtils, pp, Tempfile, Dir.tmpdir and StringIO

Instance Method Summary

Instance Method Details

#assert_directory(path)

Asserts path is a directory

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 70

def assert_directory path
  assert File.directory?(path), "#{path} is not a directory"
end

#assert_file(path)

Asserts path is a file

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 63

def assert_file path
  assert File.file?(path), "#{path} is not a file"
end

#blank_line

Shortcut for Markup::BlankLine.new

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 84

def blank_line
  @RM::BlankLine.new
end

#block(*contents)

Shortcut for RDoc::Markup::BlockQuote.new with contents

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 91

def block *contents
  @RM::BlockQuote.new(*contents)
end

#comment(text, top_level = @top_level)

Creates an Comment with text which was defined on top_level. By default the comment has the 'rdoc' format.

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 99

def comment text, top_level = @top_level
  RDoc::Comment.new text, top_level
end

#doc(*contents)

Shortcut for Markup::Document.new with contents

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 106

def doc *contents
  @RM::Document.new(*contents)
end

#hard_break

Shortcut for Markup::HardBreak.new

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 113

def hard_break
  @RM::HardBreak.new
end

#head(level, text)

Shortcut for RDoc::Markup::Heading.new with level and text

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 120

def head level, text
  @RM::Heading.new level, text
end

#item(label = nil, *parts)

Shortcut for Markup::ListItem.new with label and parts

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 127

def item label = nil, *parts
  @RM::ListItem.new label, *parts
end

#list(type = nil, *items)

Shortcut for Markup::List.new with type and items

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 134

def list type = nil, *items
  @RM::List.new type, *items
end

#para(*a)

Shortcut for RDoc::Markup::Paragraph.new with contents

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 151

def para *a
  @RM::Paragraph.new(*a)
end

#raw(*contents)

Shortcut for Markup::Raw.new with contents

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 165

def raw *contents
  @RM::Raw.new(*contents)
end

#refute_file(path)

Refutes path exists

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 77

def refute_file path
  refute File.exist?(path), "#{path} exists"
end

#rule(weight)

Shortcut for RDoc::Markup::Rule.new with weight

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 158

def rule weight
  @RM::Rule.new weight
end

#setup

Abstract test-case setup

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 37

def setup
  super

  @top_level = nil

  @RM = RDoc::Markup

  RDoc::Markup::PreProcess.reset

  @pwd = Dir.pwd

  @store = RDoc::Store.new

  @rdoc = RDoc::RDoc.new
  @rdoc.store = @store
  @rdoc.options = RDoc::Options.new

  g = Object.new
  def g.class_dir() end
  def g.file_dir() end
  @rdoc.generator = g
end

#temp_dir

Creates a temporary directory changes the current directory to it for the duration of the block.

Depends upon Dir.mktmpdir

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 175

def temp_dir
  Dir.mktmpdir do |temp_dir|
    Dir.chdir temp_dir do
      yield temp_dir
    end
  end
end

#verb(*parts)

Shortcut for Markup::Verbatim.new with parts

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 186

def verb *parts
  @RM::Verbatim.new(*parts)
end

#verbose_capture_io

run capture_io with setting $VERBOSE = true

[ GitHub ]

  
# File 'lib/rdoc/test_case.rb', line 193

def verbose_capture_io
  capture_io do
    begin
      orig_verbose = $VERBOSE
      $VERBOSE = true
      yield
    ensure
      $VERBOSE = orig_verbose
    end
  end
end