PHP 8.2.31
Preview: test_case.rb Size: 4.14 KB
/proc/thread-self/root/opt/alt/ruby21/lib64/ruby/2.1.0/rdoc/test_case.rb

require 'rubygems'

begin
  gem 'minitest', '~> 4.0' unless defined?(Test::Unit)
rescue NoMethodError
  # for ruby tests
end

require 'minitest/autorun'
require 'minitest/benchmark' if ENV['BENCHMARK']

require 'fileutils'
require 'pp'
require 'tempfile'
require 'tmpdir'
require 'stringio'

require 'rdoc'

##
# RDoc::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 <code>@RM</code> alias of RDoc::Markup (for less typing)
# * <code>@pwd</code> containing the current working directory
# * FileUtils, pp, Tempfile, Dir.tmpdir and StringIO

class RDoc::TestCase < MiniTest::Unit::TestCase

  ##
  # Abstract test-case setup

  def setup
    super

    @top_level = nil

    @have_encoding = Object.const_defined? :Encoding

    @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

  ##
  # Asserts +path+ is a file

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

  ##
  # Asserts +path+ is a directory

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

  ##
  # Refutes +path+ exists

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

  ##
  # Shortcut for RDoc::Markup::BlankLine.new

  def blank_line
    @RM::BlankLine.new
  end

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

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

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

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

  ##
  # Shortcut for RDoc::Markup::Document.new with +contents+

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

  ##
  # Shortcut for RDoc::Markup::HardBreak.new

  def hard_break
    @RM::HardBreak.new
  end

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

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

  ##
  # Shortcut for RDoc::Markup::ListItem.new with +label+ and +parts+

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

  ##
  # Shortcut for RDoc::Markup::List.new with +type+ and +items+

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

  ##
  # Enables pretty-print output

  def mu_pp obj # :nodoc:
    s = ''
    s = PP.pp obj, s
    s = s.force_encoding Encoding.default_external if defined? Encoding
    s.chomp
  end

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

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

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

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

  ##
  # Shortcut for RDoc::Markup::Raw.new with +contents+

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

  ##
  # Creates a temporary directory changes the current directory to it for the
  # duration of the block.
  #
  # Depends upon Dir.mktmpdir

  def temp_dir
    skip "No Dir::mktmpdir, upgrade your ruby" unless Dir.respond_to? :mktmpdir

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

  ##
  # Shortcut for RDoc::Markup::Verbatim.new with +parts+

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

  ##
  # run capture_io with setting $VERBOSE = true

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

# This hack allows autoload to work when Dir.pwd is changed for Ruby 1.8 since
# -I paths are not expanded.
$LOAD_PATH.each do |load_path|
  break if load_path[0] == ?/
  load_path.replace File.expand_path load_path
end if RUBY_VERSION < '1.9'

Directory Contents

Dirs: 8 × Files: 45

Name Size Perms Modified Actions
context DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
generator DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
markdown DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
markup DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
parser DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
rd DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
ri DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
stats DIR
- drwxr-xr-x 2024-03-03 22:43:10
Edit Download
2.09 KB lrw-r--r-- 2012-11-27 04:28:14
Edit Download
142 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
6.82 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
3.73 KB lrw-r--r-- 2013-01-23 01:02:24
Edit Download
19.73 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
9.38 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
121 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
5.29 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
3.55 KB lrw-r--r-- 2013-12-03 03:18:52
Edit Download
28.76 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
5.82 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
2.74 KB lrw-r--r-- 2012-12-18 08:24:57
Edit Download
794 B lrw-r--r-- 2011-05-15 11:55:52
Edit Download
370 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
140 B lrw-r--r-- 2013-09-18 23:33:36
Edit Download
1.72 KB lrw-r--r-- 2012-11-27 04:28:14
Edit Download
114 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
142 B lrw-r--r-- 2013-09-18 23:33:36
Edit Download
2.63 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
370.01 KB lrw-r--r-- 2013-09-19 07:22:13
Edit Download
28.22 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
99 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
8.78 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
2.72 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
2.10 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
1.40 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
29.70 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
8.06 KB lrw-r--r-- 2013-12-03 00:42:49
Edit Download
3.54 KB lrw-r--r-- 2012-11-27 04:28:14
Edit Download
13.40 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
935 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
315 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
5.17 KB lrw-r--r-- 2013-11-18 20:55:18
Edit Download
27.71 KB lrw-r--r-- 2013-11-19 00:47:33
Edit Download
11.28 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
11.84 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
330 B lrw-r--r-- 2012-11-27 04:28:14
Edit Download
10.37 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
22.37 KB lrw-r--r-- 2013-11-19 00:51:06
Edit Download
7.66 KB lrw-r--r-- 2012-11-27 04:28:14
Edit Download
4.14 KB lrw-r--r-- 2013-11-22 02:06:23
Edit Download
7.60 KB lrw-r--r-- 2015-02-17 15:18:40
Edit Download
2.46 KB lrw-r--r-- 2012-11-27 04:28:14
Edit Download
6.26 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download
5.41 KB lrw-r--r-- 2013-09-18 23:33:36
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).