source: imaps-frontend/node_modules/utila/test/array.coffee

main
Last change on this file was 79a0317, checked in by stefan toskovski <stefantoska84@…>, 4 days ago

F4 Finalna Verzija

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[79a0317]1require './_prepare'
2
3array = mod 'array'
4
5test 'from', ->
6
7 array.from([1]).should.be.an.instanceOf Array
8 array.from([1])[0].should.equal 1
9
10# test 'clone', ->
11
12# a = [0, 1, 2]
13
14# b = array.clone a
15
16# b[0].should.equal 0
17# b[1].should.equal 1
18
19# b[0] = 3
20
21# a[0].should.equal 0
22
23test 'pluck', ->
24
25 a = [0, 1, 2, 3]
26
27 after = array.pluck a, 1
28
29 after.length.should.equal 3
30
31 after[0].should.equal 0
32 after[1].should.equal 2
33 after[2].should.equal 3
34 after.should.equal a
35
36test 'pluckMultiple', ->
37
38 a = [0, 1, 2, 3, 4, 5, 6]
39
40 array.pluckMultiple a, [0, 4, 2, 6]
41
42 a.length.should.equal 3
43 a[0].should.equal 1
44 a[1].should.equal 3
45 a[2].should.equal 5
46
47test 'pluckItem', ->
48
49 a = [0, 1, 2, 3, 2, 4, 2]
50
51 array.pluckItem a, 2
52
53 a[0].should.equal 0
54 a[1].should.equal 1
55 a[2].should.equal 3
56 a[3].should.equal 4
57
58 array.pluckItem([1], 2).length.should.equal 1
59
60
61test 'pluckOneItem', ->
62
63 a = [0, 1, 2, 3, 2, 4, 2]
64
65 array.pluckOneItem a, 2
66
67 a[0].should.equal 0
68 a[1].should.equal 1
69 a[2].should.equal 3
70 a[3].should.equal 2
71 a[4].should.equal 4
72 a[5].should.equal 2
73
74 a = [1, 2]
75
76 array.pluckOneItem a, 1
77
78 a.length.should.equal 1
79 a[0].should.equal 2
80
81 array.pluckOneItem([], 1).length.should.equal 0
82
83 array.pluckOneItem([1], 2).length.should.equal 1
84
85test 'plcukByCallback', ->
86
87 a = [0, 1, 2, 3]
88
89 array.pluckByCallback a, (val, i) ->
90
91 return yes if val is 2
92
93 return no
94
95 a[0].should.equal 0
96 a[1].should.equal 1
97 a[2].should.equal 3
98
99test 'injectByCallback', ->
100
101 shouldInject = (valA, valB, toInject) ->
102
103 unless valA?
104
105 return yes if toInject <= valB
106
107 return no
108
109 unless valB?
110
111 return yes if valA <= toInject
112
113 return no
114
115 return yes if valA <= toInject <= valB
116
117 return no
118
119 a = [0.5, 1, 2.5, 2.5, 2.75, 2.75, 3]
120
121 array.injectByCallback a, 0, shouldInject
122
123 a[0].should.equal 0
124 a[1].should.equal 0.5
125 a[7].should.equal 3
126
127 a = [0.5, 1, 2.5, 2.5, 2.75, 2.75, 3]
128
129 array.injectByCallback a, 2.7, shouldInject
130
131 a[0].should.equal 0.5
132 a[4].should.equal 2.7
133 a[5].should.equal 2.75
134 a[7].should.equal 3
135
136 a = [0.5, 1, 2.5, 2.5, 2.75, 2.75, 3]
137
138 array.injectByCallback a, 3.2, shouldInject
139
140 a[0].should.equal 0.5
141 a[4].should.equal 2.75
142 a[6].should.equal 3
143 a[7].should.equal 3.2
Note: See TracBrowser for help on using the repository browser.