diff options
Diffstat (limited to 'mrbgems/mruby-sprintf/test')
| -rw-r--r-- | mrbgems/mruby-sprintf/test/sprintf.rb | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/mrbgems/mruby-sprintf/test/sprintf.rb b/mrbgems/mruby-sprintf/test/sprintf.rb index 454c226e1..ccbd95d51 100644 --- a/mrbgems/mruby-sprintf/test/sprintf.rb +++ b/mrbgems/mruby-sprintf/test/sprintf.rb @@ -5,5 +5,28 @@ assert('String#%') do assert_equal "one=1", "one=%d" % 1 assert_equal "1 one 1.0", "%d %s %3.1f" % [ 1, "one", 1.01 ] assert_equal "123 < 456", "%{num} < %<str>s" % { num: 123, str: "456" } - assert_equal 16, ("%b" % (1<<15)).size + assert_equal 15, ("%b" % (1<<14)).size +end + +assert("String#% with invalid chr") do + begin + class Fixnum + alias_method :chr_, :chr if method_defined?(:chr) + + def chr + nil + end + end + + assert_raise TypeError do + "%c" % 0 + end + ensure + class Fixnum + if method_defined?(:chr_) + alias_method :chr, :chr_ + remove_method :chr_ + end + end + end end |
