mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
9cadc95b28
* lib/rake: Update to rake 10.1.0 * bin/rake: ditto. * test/rake: ditto. * NEWS: Update NEWS to include rake 10.1.0 and links to release notes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
52 lines
1.1 KiB
Ruby
52 lines
1.1 KiB
Ruby
require File.expand_path('../helper', __FILE__)
|
|
require 'stringio'
|
|
|
|
class TestTraceOutput < Rake::TestCase
|
|
include Rake::TraceOutput
|
|
|
|
class PrintSpy
|
|
attr_reader :result, :calls
|
|
|
|
def initialize
|
|
@result = ""
|
|
@calls = 0
|
|
end
|
|
|
|
def print(string)
|
|
@result << string
|
|
@calls += 1
|
|
end
|
|
end
|
|
|
|
def test_trace_issues_single_io_for_args_with_empty_args
|
|
spy = PrintSpy.new
|
|
trace_on(spy)
|
|
assert_equal "\n", spy.result
|
|
assert_equal 1, spy.calls
|
|
end
|
|
|
|
def test_trace_issues_single_io_for_args_multiple_strings
|
|
spy = PrintSpy.new
|
|
trace_on(spy, "HI\n", "LO")
|
|
assert_equal "HI\nLO\n", spy.result
|
|
assert_equal 1, spy.calls
|
|
end
|
|
|
|
def test_trace_handles_nil_objects
|
|
spy = PrintSpy.new
|
|
trace_on(spy, "HI\n", nil, "LO")
|
|
assert_equal "HI\nLO\n", spy.result
|
|
assert_equal 1, spy.calls
|
|
end
|
|
|
|
def test_trace_issues_single_io_for_args_multiple_strings_and_alternate_sep
|
|
old_sep = $\
|
|
$\ = "\r"
|
|
spy = PrintSpy.new
|
|
trace_on(spy, "HI\r", "LO")
|
|
assert_equal "HI\rLO\r", spy.result
|
|
assert_equal 1, spy.calls
|
|
ensure
|
|
$\ = old_sep
|
|
end
|
|
end
|