UNPKG

2.57 kBJavaScriptView Raw
1/*global describe, it */
2
3var helper = require('../lib/helper')
4 , should = require('chai').should()
5;
6
7describe('helper.condenseArray()', function(){
8 it('should condense a homogeneous list into a single element array', function(){
9 var input, output;
10 input = [
11 {$name: 'item', $text: 'something'},
12 {$name: 'item', $text: 'else'}
13 ];
14 output = [[
15 {$name: 'item', $text: 'something'},
16 {$name: 'item', $text: 'else'}
17 ]];
18 helper.condenseArray(input).should.deep.equal(output);
19 });
20
21 it('should condense contiguous items', function(){
22 var input, output;
23 input = [
24 {$name: 'item', $text: 'something'},
25 {$name: 'item', $text: 'else'},
26 {$name: 'other', $text: 'something'},
27 {$name: 'other', $text: 'else'}
28 ];
29 output = [
30 [
31 {$name: 'item', $text: 'something'},
32 {$name: 'item', $text: 'else'}
33 ],
34 [
35 {$name: 'other', $text: 'something'},
36 {$name: 'other', $text: 'else'}
37 ]
38 ];
39 helper.condenseArray(input).should.deep.equal(output);
40 });
41
42 it('should not condense noncontiguous items', function(){
43 var input, output;
44 input = [
45 {$name: 'other', $text: 'something'},
46 {$name: 'item', $text: 'something'},
47 {$name: 'item', $text: 'else'},
48 {$name: 'other', $text: 'else'}
49 ];
50 output = [
51 [{$name: 'other', $text: 'something'}],
52 [
53 {$name: 'item', $text: 'something'},
54 {$name: 'item', $text: 'else'}
55 ],
56 [{$name: 'other', $text: 'else'}]
57 ];
58 helper.condenseArray(input).should.deep.equal(output);
59 });
60
61 it('should condense text to single text elements', function(){
62 var input, output;
63 input = [
64 'Something said...',
65 'words here.',
66 {$name: 'item', $text: 'something'},
67 {$name: 'item', $text: 'else'},
68 {$name: 'other', $text: 'else'},
69 'more words'
70 ];
71 output = [
72 'Something said...words here.',
73 [
74 {$name: 'item', $text: 'something'},
75 {$name: 'item', $text: 'else'}
76 ],
77 [{$name: 'other', $text: 'else'}],
78 'more words'
79 ];
80 helper.condenseArray(input).should.deep.equal(output);
81 });
82});