summaryrefslogtreecommitdiffstats
path: root/toolkit/components/microformats/test/module-tests/utilities-test.js
blob: b37236a6bc440c3b42b4804b6b033383874a2709 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
Unit test for utilities
*/

assert = chai.assert;

// Tests the private Modules.utils object
// Modules.utils is unit tested as it has an interface access by other modules


describe('Modules.utilities', function() {


   it('isString', function(){
       assert.isTrue( Modules.utils.isString( 'abc' ) );
       assert.isFalse( Modules.utils.isString( 123 ) );
       assert.isFalse( Modules.utils.isString( 1.23 ) );
       assert.isFalse( Modules.utils.isString( {'abc': 'abc'} ) );
       assert.isFalse( Modules.utils.isString( ['abc'] ) );
       assert.isFalse( Modules.utils.isString( true ) );
   });


   it('isArray', function(){
       assert.isTrue( Modules.utils.isArray( ['abc'] ) );
       assert.isFalse( Modules.utils.isArray( 123 ) );
       assert.isFalse( Modules.utils.isArray( 1.23 ) );
       assert.isFalse( Modules.utils.isArray( 'abc' ) );
       assert.isFalse( Modules.utils.isArray( {'abc': 'abc'} ) );
       assert.isFalse( Modules.utils.isArray( true ) );
   });


   it('isNumber', function(){
       assert.isTrue( Modules.utils.isNumber( 123 ) );
       assert.isTrue( Modules.utils.isNumber( 1.23 ) );
       assert.isFalse( Modules.utils.isNumber( 'abc' ) );
       assert.isFalse( Modules.utils.isNumber( {'abc': 'abc'} ) );
       assert.isFalse( Modules.utils.isNumber( ['abc'] ) );
       assert.isFalse( Modules.utils.isNumber( true ) );
   });


   it('startWith', function(){
       assert.isTrue( Modules.utils.startWith( 'p-name', 'p-' ) );
       assert.isFalse( Modules.utils.startWith( 'p-name', 'name' ) );
       assert.isFalse( Modules.utils.startWith( 'p-name', 'u-' ) );
   });


   it('trim', function(){
       assert.equal( Modules.utils.trim( ' Glenn Jones ' ), 'Glenn Jones' );
       assert.equal( Modules.utils.trim( 'Glenn Jones' ), 'Glenn Jones' );
       assert.equal( Modules.utils.trim( undefined ), '' );
   });


   it('replaceCharAt', function(){
       assert.equal( Modules.utils.replaceCharAt( 'Glenn Jones', 5, '-' ), 'Glenn-Jones' );
       assert.equal( Modules.utils.replaceCharAt( 'Glenn Jones', 50, '-' ), 'Glenn Jones' );
   });


   it('isOnlyWhiteSpace', function(){
       assert.isTrue( Modules.utils.isOnlyWhiteSpace( '  ') );
       assert.isTrue( Modules.utils.isOnlyWhiteSpace( '  \n\r') );
       assert.isFalse( Modules.utils.isOnlyWhiteSpace( '  text\n\r') );
   });


   it('collapseWhiteSpace', function(){
       assert.equal( Modules.utils.collapseWhiteSpace( '  '), ' ' );
       assert.equal( Modules.utils.collapseWhiteSpace( '  \n\r'), ' ' );
       assert.equal( Modules.utils.collapseWhiteSpace( '  text\n\r'), ' text ' );
   });


   it('hasProperties', function(){
       assert.isTrue( Modules.utils.hasProperties( {name: 'glennjones'} ) );
       assert.isFalse( Modules.utils.hasProperties( {} ) );
   });


   it('sortObjects', function(){
       var arr = [{'name': 'one'},{'name': 'two'},{'name': 'three'},{'name': 'three'}];

       assert.deepEqual( arr.sort( Modules.utils.sortObjects( 'name', true ) ), [{"name":"two"},{"name":"three"},{'name': 'three'},{"name":"one"}] );
       assert.deepEqual( arr.sort( Modules.utils.sortObjects( 'name', false ) ), [{"name":"one"},{"name":"three"},{'name': 'three'},{"name":"two"}] );
   });



});