|
- 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
|