Add missing assert_warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2012-03-12 15:17:27 +00:00
parent 6c698654bb
commit 7f199d12e0
2 changed files with 15 additions and 60 deletions

View File

@ -1,6 +1,7 @@
require 'test/unit'
require 'tmpdir'
require 'timeout'
require 'stringio'
require_relative 'envutil'
class TestIO_M17N < Test::Unit::TestCase
@ -11,6 +12,17 @@ class TestIO_M17N < Test::Unit::TestCase
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) {
@ -1064,9 +1076,9 @@ EOT
bug5567 = '[ruby-core:40726]'
IO.pipe do |r, w|
assert_nothing_raised(bug5567) do
assert_warn(/Unsupported/, bug5567) {r.set_encoding("fffffffffffxx")}
assert_warn(/Unsupported/, bug5567) {r.set_encoding("fffffffffffxx", "us-ascii")}
assert_warn(/Unsupported/, bug5567) {r.set_encoding("us-ascii", "fffffffffffxx")}
assert_warning(/Unsupported/, bug5567) {r.set_encoding("fffffffffffxx")}
assert_warning(/Unsupported/, bug5567) {r.set_encoding("fffffffffffxx", "us-ascii")}
assert_warning(/Unsupported/, bug5567) {r.set_encoding("us-ascii", "fffffffffffxx")}
end
end
end

View File

@ -1,5 +1,4 @@
require 'test/unit'
require 'stringio'
require_relative 'allpairs'
class TestM17NComb < Test::Unit::TestCase
@ -23,62 +22,6 @@ class TestM17NComb < Test::Unit::TestCase
assert_equal(a(bytes), a(actual), message)
end
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 assert_regexp_generic_encoding(r)
assert(!r.fixed_encoding?)
%w[ASCII-8BIT EUC-JP Shift_JIS UTF-8].each {|ename|
# "\xc2\xa1" is a valid sequence for ASCII-8BIT, EUC-JP, Shift_JIS and UTF-8.
assert_nothing_raised { r =~ "\xc2\xa1".force_encoding(ename) }
}
end
def assert_regexp_fixed_encoding(r)
assert(r.fixed_encoding?)
%w[ASCII-8BIT EUC-JP Shift_JIS UTF-8].each {|ename|
enc = Encoding.find(ename)
if enc == r.encoding
assert_nothing_raised { r =~ "\xc2\xa1".force_encoding(enc) }
else
assert_raise(ArgumentError) { r =~ "\xc2\xa1".force_encoding(enc) }
end
}
end
def assert_regexp_generic_ascii(r)
assert_encoding("ASCII-8BIT", r.encoding)
assert_regexp_generic_encoding(r)
end
def assert_regexp_fixed_ascii8bit(r)
assert_encoding("ASCII-8BIT", r.encoding)
assert_regexp_fixed_encoding(r)
end
def assert_regexp_fixed_eucjp(r)
assert_encoding("EUC-JP", r.encoding)
assert_regexp_fixed_encoding(r)
end
def assert_regexp_fixed_sjis(r)
assert_encoding("Shift_JIS", r.encoding)
assert_regexp_fixed_encoding(r)
end
def assert_regexp_fixed_utf8(r)
assert_encoding("UTF-8", r.encoding)
assert_regexp_fixed_encoding(r)
end
STRINGS = [
a(""), e(""), s(""), u(""),
a("a"), e("a"), s("a"), u("a"),