Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

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

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/test/t/array.rb

    r331 r439  
    5656
    5757  a = [ "a", "b", "c", "d", "e" ]
    58   assert_equal("b", a[1.1])
    5958  assert_equal(["b", "c"], a[1,2])
    6059  assert_equal(["b", "c", "d"], a[1..-2])
     60  skip unless Object.const_defined?(:Float)
     61  assert_equal("b", a[1.1])
    6162end
    6263
     
    238239  assert_equal([1,2], a)
    239240  assert_equal(3, b)
     241
     242  assert_raise(FrozenError) { [].freeze.pop }
    240243end
    241244
     
    285288  assert_equal([2,3], a)
    286289  assert_equal(1, b)
     290
     291  assert_raise(FrozenError) { [].freeze.shift }
    287292end
    288293
     
    294299
    295300assert('Array#slice', '15.2.12.5.29') do
    296   a = "12345".slice(1, 3)
    297   b = a.slice(0)
    298 
    299   assert_equal("2:", "#{b}:")
    300   assert_equal(2, [1,2,3].[](1))
     301  a = [*(1..100)]
     302  b = a.dup
     303
     304  assert_equal(1, a.slice(0))
     305  assert_equal(100, a.slice(99))
     306  assert_nil(a.slice(100))
     307  assert_equal(100, a.slice(-1))
     308  assert_equal(99,  a.slice(-2))
     309  assert_equal(1,   a.slice(-100))
     310  assert_nil(a.slice(-101))
     311  assert_equal([1],   a.slice(0,1))
     312  assert_equal([100], a.slice(99,1))
     313  assert_equal([],    a.slice(100,1))
     314  assert_equal([100], a.slice(99,100))
     315  assert_equal([100], a.slice(-1,1))
     316  assert_equal([99],  a.slice(-2,1))
     317  assert_equal([10, 11, 12], a.slice(9, 3))
     318  assert_equal([10, 11, 12], a.slice(-91, 3))
     319  assert_nil(a.slice(-101, 2))
     320  assert_equal([1],   a.slice(0..0))
     321  assert_equal([100], a.slice(99..99))
     322  assert_equal([],    a.slice(100..100))
     323  assert_equal([100], a.slice(99..200))
     324  assert_equal([100], a.slice(-1..-1))
     325  assert_equal([99],  a.slice(-2..-2))
     326  assert_equal([10, 11, 12], a.slice(9..11))
     327  assert_equal([10, 11, 12], a.slice(-91..-89))
     328  assert_equal([10, 11, 12], a.slice(-91..-89))
     329  assert_nil(a.slice(-101..-1))
     330  assert_nil(a.slice(10, -3))
     331  assert_equal([], a.slice(10..7))
     332  assert_equal(b, a)
    301333end
    302334
     
    315347assert('Array#to_s', '15.2.12.5.31 / 15.2.12.5.32') do
    316348  a = [2, 3,   4, 5]
     349  a[4] = a
    317350  r1 = a.to_s
    318351  r2 = a.inspect
    319352
    320353  assert_equal(r2, r1)
    321   assert_equal("[2, 3, 4, 5]", r1)
     354  assert_equal("[2, 3, 4, 5, [...]]", r1)
    322355end
    323356
     
    356389
    357390# Not ISO specified
    358 
    359 assert("Array (Shared Array Corruption)") do
    360   a = [ "a", "b", "c", "d", "e", "f" ]
    361   b = a.slice(1, 3)
    362   a.clear
    363   b.clear
    364 end
    365391
    366392assert("Array (Longish inline array)") do
     
    383409end
    384410
     411assert('Array#sort!') do
     412  a = [3, 2, 1]
     413  assert_equal a, a.sort!      # sort! returns self.
     414  assert_equal [1, 2, 3], a    # it is sorted.
     415end
     416
    385417assert('Array#freeze') do
    386418  a = [].freeze
    387   assert_raise(RuntimeError) do
     419  assert_raise(FrozenError) do
    388420    a[0] = 1
    389421  end
Note: See TracChangeset for help on using the changeset viewer.