123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- require './_prepare'
- array = mod 'array'
- test 'from', ->
- array.from([1]).should.be.an.instanceOf Array
- array.from([1])[0].should.equal 1
- # test 'clone', ->
- # a = [0, 1, 2]
- # b = array.clone a
- # b[0].should.equal 0
- # b[1].should.equal 1
- # b[0] = 3
- # a[0].should.equal 0
- test 'pluck', ->
- a = [0, 1, 2, 3]
- after = array.pluck a, 1
- after.length.should.equal 3
- after[0].should.equal 0
- after[1].should.equal 2
- after[2].should.equal 3
- after.should.equal a
- test 'pluckMultiple', ->
- a = [0, 1, 2, 3, 4, 5, 6]
- array.pluckMultiple a, [0, 4, 2, 6]
- a.length.should.equal 3
- a[0].should.equal 1
- a[1].should.equal 3
- a[2].should.equal 5
- test 'pluckItem', ->
- a = [0, 1, 2, 3, 2, 4, 2]
- array.pluckItem a, 2
- a[0].should.equal 0
- a[1].should.equal 1
- a[2].should.equal 3
- a[3].should.equal 4
- array.pluckItem([1], 2).length.should.equal 1
- test 'pluckOneItem', ->
- a = [0, 1, 2, 3, 2, 4, 2]
- array.pluckOneItem a, 2
- a[0].should.equal 0
- a[1].should.equal 1
- a[2].should.equal 3
- a[3].should.equal 2
- a[4].should.equal 4
- a[5].should.equal 2
- a = [1, 2]
- array.pluckOneItem a, 1
- a.length.should.equal 1
- a[0].should.equal 2
- array.pluckOneItem([], 1).length.should.equal 0
- array.pluckOneItem([1], 2).length.should.equal 1
- test 'plcukByCallback', ->
- a = [0, 1, 2, 3]
- array.pluckByCallback a, (val, i) ->
- return yes if val is 2
- return no
- a[0].should.equal 0
- a[1].should.equal 1
- a[2].should.equal 3
- test 'injectByCallback', ->
- shouldInject = (valA, valB, toInject) ->
- unless valA?
- return yes if toInject <= valB
- return no
- unless valB?
- return yes if valA <= toInject
- return no
- return yes if valA <= toInject <= valB
- return no
- a = [0.5, 1, 2.5, 2.5, 2.75, 2.75, 3]
- array.injectByCallback a, 0, shouldInject
- a[0].should.equal 0
- a[1].should.equal 0.5
- a[7].should.equal 3
- a = [0.5, 1, 2.5, 2.5, 2.75, 2.75, 3]
- array.injectByCallback a, 2.7, shouldInject
- a[0].should.equal 0.5
- a[4].should.equal 2.7
- a[5].should.equal 2.75
- a[7].should.equal 3
- a = [0.5, 1, 2.5, 2.5, 2.75, 2.75, 3]
- array.injectByCallback a, 3.2, shouldInject
- a[0].should.equal 0.5
- a[4].should.equal 2.75
- a[6].should.equal 3
- a[7].should.equal 3.2
|