Sha256: 095157e95cf01076caa6152491b22a787a34cf1a4b3838b7cbfb87c5138a7a20
Contents?: true
Size: 1.23 KB
Versions: 7
Compression:
Stored size: 1.23 KB
Contents
#!/usr/bin/env ruby require 'test/unit' require 'rake' require 'stringio' ###################################################################### class TestExtension < Test::Unit::TestCase module Redirect def error_redirect old_err = $stderr result = StringIO.new $stderr = result yield result ensure $stderr = old_err end end class Sample extend Redirect def duplicate_method :original end OK_ERRS = error_redirect do rake_extension("a") do def ok_method end end end DUP_ERRS = error_redirect do rake_extension("duplicate_method") do def duplicate_method :override end end end end def test_methods_actually_exist sample = Sample.new sample.ok_method sample.duplicate_method end def test_no_warning_when_defining_ok_method assert_equal "", Sample::OK_ERRS.string end def test_extension_complains_when_a_method_that_is_present assert_match(/warning:/i, Sample::DUP_ERRS.string) assert_match(/already exists/i, Sample::DUP_ERRS.string) assert_match(/duplicate_method/i, Sample::DUP_ERRS.string) assert_equal :original, Sample.new.duplicate_method end end
Version data entries
7 entries across 7 versions & 2 rubygems