Ignore:
Timestamp:
Jan 21, 2018, 12:10:09 AM (6 years ago)
Author:
coas-nagasima
Message:

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

Location:
EcnlProtoTool/trunk/mruby-1.3.0
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-1.3.0/mrbgems/mruby-sprintf/test/sprintf.rb

    r321 r331  
    66  assert_equal "1 one 1.0", "%d %s %3.1f" % [ 1, "one", 1.01 ]
    77  assert_equal "123 < 456", "%{num} < %<str>s" % { num: 123, str: "456" }
     8  assert_equal 15, ("%b" % (1<<14)).size
    89end
     10
     11assert('String#% with inf') do
     12  inf = Float::INFINITY
     13
     14  assert_equal "Inf", "%f" % inf
     15  assert_equal "Inf", "%2f" % inf
     16  assert_equal "Inf", "%3f" % inf
     17  assert_equal " Inf", "%4f" % inf
     18  assert_equal "  Inf", "%5f" % inf
     19
     20  assert_equal "+Inf", "%+f" % inf
     21  assert_equal "+Inf", "%+2f" % inf
     22  assert_equal "+Inf", "%+3f" % inf
     23  assert_equal "+Inf", "%+4f" % inf
     24  assert_equal " +Inf", "%+5f" % inf
     25
     26  assert_equal "Inf", "%-f" % inf
     27  assert_equal "Inf", "%-2f" % inf
     28  assert_equal "Inf", "%-3f" % inf
     29  assert_equal "Inf ", "%-4f" % inf
     30  assert_equal "Inf  ", "%-5f" % inf
     31
     32  assert_equal " Inf", "% f" % inf
     33  assert_equal " Inf", "% 2f" % inf
     34  assert_equal " Inf", "% 3f" % inf
     35  assert_equal " Inf", "% 4f" % inf
     36  assert_equal "  Inf", "% 5f" % inf
     37end
     38
     39assert('String#% with nan') do
     40  nan = Float::NAN
     41
     42  assert_equal "NaN", "%f" % nan
     43  assert_equal "NaN", "%2f" % nan
     44  assert_equal "NaN", "%3f" % nan
     45  assert_equal " NaN", "%4f" % nan
     46  assert_equal "  NaN", "%5f" % nan
     47
     48  assert_equal "+NaN", "%+f" % nan
     49  assert_equal "+NaN", "%+2f" % nan
     50  assert_equal "+NaN", "%+3f" % nan
     51  assert_equal "+NaN", "%+4f" % nan
     52  assert_equal " +NaN", "%+5f" % nan
     53
     54  assert_equal "NaN", "%-f" % nan
     55  assert_equal "NaN", "%-2f" % nan
     56  assert_equal "NaN", "%-3f" % nan
     57  assert_equal "NaN ", "%-4f" % nan
     58  assert_equal "NaN  ", "%-5f" % nan
     59
     60  assert_equal " NaN", "% f" % nan
     61  assert_equal " NaN", "% 2f" % nan
     62  assert_equal " NaN", "% 3f" % nan
     63  assert_equal " NaN", "% 4f" % nan
     64  assert_equal "  NaN", "% 5f" % nan
     65end
     66
     67assert("String#% with invalid chr") do
     68  begin
     69    class Fixnum
     70      alias_method :chr_, :chr if method_defined?(:chr)
     71
     72      def chr
     73        nil
     74      end
     75    end
     76
     77    assert_raise TypeError do
     78      "%c" % 0
     79    end
     80  ensure
     81    class Fixnum
     82      if method_defined?(:chr_)
     83        alias_method :chr, :chr_
     84        remove_method :chr_
     85      end
     86    end
     87  end
     88end
     89
     90assert("String#% %b") do
     91  assert_equal("..10115", "%0b5" % -5)
     92end
     93
     94assert("String#% invalid format") do
     95  assert_raise ArgumentError do
     96    "%?" % ""
     97  end
     98end
     99
     100assert("String#% invalid format shared substring") do
     101  fmt = ("x"*30+"%!")[0...-1]
     102  assert_equal fmt, sprintf(fmt, "")
     103end
Note: See TracChangeset for help on using the changeset viewer.