Changeset 439 for EcnlProtoTool/trunk/mruby-2.1.1/test/t/array.rb
- Timestamp:
- Jul 9, 2020, 8:51:43 AM (4 years ago)
- 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 56 56 57 57 a = [ "a", "b", "c", "d", "e" ] 58 assert_equal("b", a[1.1])59 58 assert_equal(["b", "c"], a[1,2]) 60 59 assert_equal(["b", "c", "d"], a[1..-2]) 60 skip unless Object.const_defined?(:Float) 61 assert_equal("b", a[1.1]) 61 62 end 62 63 … … 238 239 assert_equal([1,2], a) 239 240 assert_equal(3, b) 241 242 assert_raise(FrozenError) { [].freeze.pop } 240 243 end 241 244 … … 285 288 assert_equal([2,3], a) 286 289 assert_equal(1, b) 290 291 assert_raise(FrozenError) { [].freeze.shift } 287 292 end 288 293 … … 294 299 295 300 assert('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) 301 333 end 302 334 … … 315 347 assert('Array#to_s', '15.2.12.5.31 / 15.2.12.5.32') do 316 348 a = [2, 3, 4, 5] 349 a[4] = a 317 350 r1 = a.to_s 318 351 r2 = a.inspect 319 352 320 353 assert_equal(r2, r1) 321 assert_equal("[2, 3, 4, 5 ]", r1)354 assert_equal("[2, 3, 4, 5, [...]]", r1) 322 355 end 323 356 … … 356 389 357 390 # Not ISO specified 358 359 assert("Array (Shared Array Corruption)") do360 a = [ "a", "b", "c", "d", "e", "f" ]361 b = a.slice(1, 3)362 a.clear363 b.clear364 end365 391 366 392 assert("Array (Longish inline array)") do … … 383 409 end 384 410 411 assert('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. 415 end 416 385 417 assert('Array#freeze') do 386 418 a = [].freeze 387 assert_raise( RuntimeError) do419 assert_raise(FrozenError) do 388 420 a[0] = 1 389 421 end
Note:
See TracChangeset
for help on using the changeset viewer.