[前][次][番号順一覧][スレッド一覧]

ruby-changes:22945

From: nobu <ko1@a...>
Date: Tue, 13 Mar 2012 12:34:25 +0900 (JST)
Subject: [ruby-changes:22945] nobu:r34994 (trunk): assert_warn, assert_warning

nobu	2012-03-13 12:34:11 +0900 (Tue, 13 Mar 2012)

  New Revision: 34994

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34994

  Log:
    assert_warn, assert_warning
    
    * test/ruby/envutil.rb (assert_warn): add optional message argument.
    
    * test/ruby/envutil.rb (assert_warning): moved from test_io_m17n.rb

  Modified files:
    trunk/test/ruby/envutil.rb
    trunk/test/ruby/test_io_m17n.rb

Index: test/ruby/test_io_m17n.rb
===================================================================
--- test/ruby/test_io_m17n.rb	(revision 34993)
+++ test/ruby/test_io_m17n.rb	(revision 34994)
@@ -1,7 +1,6 @@
 require 'test/unit'
 require 'tmpdir'
 require 'timeout'
-require 'stringio'
 require_relative 'envutil'
 
 class TestIO_M17N < Test::Unit::TestCase
@@ -12,17 +11,6 @@
     Encoding::UTF_8
   ]
 
-  def assert_warning(pat, mesg=nil)
-    begin
-      org_stderr = $stderr
-      $stderr = StringIO.new(warn = '')
-      yield
-    ensure
-      $stderr = org_stderr
-    end
-    assert_match(pat, warn, mesg)
-  end
-
   def with_tmpdir
     Dir.mktmpdir {|dir|
       Dir.chdir(dir) {
Index: test/ruby/envutil.rb
===================================================================
--- test/ruby/envutil.rb	(revision 34993)
+++ test/ruby/envutil.rb	(revision 34994)
@@ -179,11 +179,16 @@
         assert(status.success?, m)
       end
 
-      def assert_warn(msg)
+      def assert_warn(pat, message = nil)
+        message ||= proc {"warning message #{stderr.inspect} is expected to match #{pat.inspect}"}
         stderr = EnvUtil.verbose_warning { yield }
-        assert(msg === stderr, "warning message #{stderr.inspect} is expected to match #{msg.inspect}")
+        assert(pat === stderr, message)
       end
 
+      def assert_warning(*args)
+        assert_warn(*args) {$VERBOSE = false; yield}
+      end
+
       def assert_no_memory_leak(args, prepare, code, message=nil, limit: 1.5)
         token = "\e[7;1m#{$$.to_s}:#{Time.now.strftime('%s.%L')}:#{rand(0x10000).to_s(16)}:\e[m"
         token_dump = token.dump

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]