1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/rake/test_trace_output.rb
drbrain 9cadc95b28 * NEWS (with all sufficient information):
* 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
2013-10-11 21:35:01 +00:00

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