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