From 2ceab2d27084f033538f2f817249a7979134c816 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sat, 11 Apr 2020 21:19:19 +0900 Subject: Supports some specifier flags with `mrb_float_to_str()` Changed to understand `#`, `0`, `-`, ` ` and `+`. Based on src/stdio/vfprintf.c in git://git.musl-libc.org/musl --- mrbgems/mruby-sprintf/test/sprintf.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mrbgems/mruby-sprintf/test/sprintf.rb') diff --git a/mrbgems/mruby-sprintf/test/sprintf.rb b/mrbgems/mruby-sprintf/test/sprintf.rb index 137812ae7..24d01c9be 100644 --- a/mrbgems/mruby-sprintf/test/sprintf.rb +++ b/mrbgems/mruby-sprintf/test/sprintf.rb @@ -8,6 +8,11 @@ assert('String#%') do assert_equal 15, ("%b" % (1<<14)).size skip unless Object.const_defined?(:Float) assert_equal "1.0", "%3.1f" % 1.01 + assert_equal " 123456789.12", "% 4.2f" % 123456789.123456789 + assert_equal "123456789.12", "%-4.2f" % 123456789.123456789 + assert_equal "+123456789.12", "%+4.2f" % 123456789.123456789 + assert_equal "123456789.12", "%04.2f" % 123456789.123456789 + assert_equal "00000000123456789.12", "%020.2f" % 123456789.123456789 end assert('String#% with inf') do -- cgit v1.2.3 From 03b0741994256b57e534c007ed88d47ab1d83a53 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 7 May 2020 10:31:49 +0900 Subject: Remove unnecessary `sprintf` test that fails since 91368c1. --- mrbgems/mruby-sprintf/test/sprintf.rb | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'mrbgems/mruby-sprintf/test/sprintf.rb') diff --git a/mrbgems/mruby-sprintf/test/sprintf.rb b/mrbgems/mruby-sprintf/test/sprintf.rb index 24d01c9be..0eb51f557 100644 --- a/mrbgems/mruby-sprintf/test/sprintf.rb +++ b/mrbgems/mruby-sprintf/test/sprintf.rb @@ -73,29 +73,6 @@ assert('String#% with nan') do assert_equal " NaN", "% 5f" % nan 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" % 0x80 - end - ensure - class Fixnum - if method_defined?(:chr_) - alias_method :chr, :chr_ - remove_method :chr_ - end - end - end -end - assert("String#% %b") do assert_equal("..10115", "%0b5" % -5) end -- cgit v1.2.3