1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
require "hoe"
require "tmpdir"
require "tempfile"
require "minitest/autorun"
class TestHoeDebug < Minitest::Test
include Hoe::Debug
# On Rake 0.8.7 verbose_flag is true, causing three tests to fail.
Rake.verbose(false)
attr_accessor :generated_files
def setup
super
@generated_files = []
end
def assert_subprocess_silent
out, err = capture_subprocess_io do
yield
end
assert_equal "", out
assert_equal "", err
end
def test_check_manifest
in_tmpdir do
manifest
assert_subprocess_silent do
check_manifest
end
end
end
def test_check_manifest_generated
in_tmpdir do
manifest "generated.rb"
open "generated.rb", "w" do |io| io.puts "generated = true" end
assert_subprocess_silent do
check_manifest
end
end
end
def test_check_manifest_missing
in_tmpdir do
manifest
open "missing.rb", "w" do |io| io.puts "missing = true" end
e = nil
out, err = capture_subprocess_io do
e = assert_raises RuntimeError do
check_manifest
end
end
assert_match %r%^Command failed with status%, e.message
assert_match %r%^\+missing.rb%, out
assert_equal "", err
end
end
def in_tmpdir
old_LOAD_PATH = $LOAD_PATH.dup
$LOAD_PATH.map! { |path| File.expand_path path }
Dir.mktmpdir do |path|
Dir.chdir path do
yield
end
end
ensure
$LOAD_PATH.replace old_LOAD_PATH
end
def manifest extra = nil
open "Manifest.txt", "w" do |io| # sorted
io.puts "History.txt"
io.puts "Manifest.txt"
io.puts "README.txt"
io.puts extra if extra
end
open "README.txt", "w" do |io| io.puts "= blah" end
open "History.txt", "w" do |io| io.puts "=== 1.0" end
end
def with_config
yield({ "exclude" => /do not match anything/ }, "~/.hoerc")
end
end
|