From 4c55c77c043662542897c2c9ce7a354e73a4ca48 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Tue, 6 May 2014 13:15:19 -0400 Subject: [PATCH] Using stderr instead of stdout --- test/helper.rb | 10 ++++++++++ test/test_convertible.rb | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/test/helper.rb b/test/helper.rb index b9b7e4cd..2e67da0e 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -70,4 +70,14 @@ class Test::Unit::TestCase ensure $stdout = $old_stdout end + + def capture_stderr + $old_stderr = $stderr + $stderr = StringIO.new + yield + $stderr.rewind + return $stderr.string + ensure + $stderr = $old_stderr + end end diff --git a/test/test_convertible.rb b/test/test_convertible.rb index c7ad9b9a..28f99952 100644 --- a/test/test_convertible.rb +++ b/test/test_convertible.rb @@ -21,7 +21,7 @@ class TestConvertible < Test::Unit::TestCase should "not parse if there is syntax error in front-matter" do name = 'broken_front_matter2.erb' - out = capture_stdout do + out = capture_stderr do ret = @convertible.read_yaml(@base, name) assert_equal({}, ret) end @@ -30,7 +30,7 @@ class TestConvertible < Test::Unit::TestCase end should "not allow ruby objects in yaml" do - out = capture_stdout do + out = capture_stderr do @convertible.read_yaml(@base, 'exploit_front_matter.erb') end assert_no_match /undefined class\/module DoesNotExist/, out @@ -38,7 +38,7 @@ class TestConvertible < Test::Unit::TestCase should "not parse if there is encoding error in file" do name = 'broken_front_matter3.erb' - out = capture_stdout do + out = capture_stderr do ret = @convertible.read_yaml(@base, name, :encoding => 'utf-8') assert_equal({}, ret) end