* Moving jQuery extend into its own module (jquery.mwPrototypes) (bug 27149; Introduc...
[lhc/web/wiklou.git] / resources / test / unit / jquery / jquery.mwPrototypes.js
1 module( 'jquery.mwPrototypes' );
2
3 test( 'String functions', function(){
4
5 equal( $j.trimLeft( ' foo bar ' ), 'foo bar ', 'trimLeft' );
6 equal( $j.trimRight( ' foo bar ' ), ' foo bar', 'trimRight' );
7 equal( $j.ucFirst( 'foo'), 'Foo', 'ucFirst' );
8
9 equal( $j.escapeRE( '<!-- ([{+mW+}]) $^|?>' ),
10 '<!\\-\\- \\(\\[\\{\\+mW\\+\\}\\]\\) \\$\\^\\|\\?>', 'escapeRE - Escape specials' );
11 equal( $j.escapeRE( 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ),
12 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'escapeRE - Leave uppercase alone' );
13 equal( $j.escapeRE( 'abcdefghijklmnopqrstuvwxyz' ),
14 'abcdefghijklmnopqrstuvwxyz', 'escapeRE - Leave lowercase alone' );
15 equal( $j.escapeRE( '0123456789' ), '0123456789', 'escapeRE - Leave numbers alone' );
16
17 });
18
19 test( 'Is functions', function(){
20
21 deepEqual( $j.isDomElement( document.getElementById( 'qunit-header' ) ), true,
22 'isDomElement: #qunit-header Node' );
23 deepEqual( $j.isDomElement( document.getElementById( 'random-name' ) ), false,
24 'isDomElement: #random-name (null)' );
25 deepEqual( $j.isDomElement( document.getElementsByTagName( 'div' ) ), false,
26 'isDomElement: getElementsByTagName Array' );
27 deepEqual( $j.isDomElement( document.getElementsByTagName( 'div' )[0] ), true,
28 'isDomElement: getElementsByTagName(..)[0] Node' );
29 deepEqual( $j.isDomElement( $j( 'div' ) ), false,
30 'isDomElement: jQuery object' );
31 deepEqual( $j.isDomElement( $j( 'div' ).get(0) ), true,
32 'isDomElement: jQuery object > Get node' );
33 deepEqual( $j.isDomElement( document.createElement( 'div' ) ), true,
34 'isDomElement: createElement' );
35 deepEqual( $j.isDomElement( { foo: 1 } ), false,
36 'isDomElement: Object' );
37
38 equal( $j.isEmpty( 'string' ), false, 'isEmptry: "string"' );
39 equal( $j.isEmpty( '0' ), true, 'isEmptry: "0"' );
40 equal( $j.isEmpty( [] ), true, 'isEmptry: []' );
41 equal( $j.isEmpty( {} ), true, 'isEmptry: {}' );
42 // Documented behaviour
43 equal( $j.isEmpty( { length: 0 } ), true, 'isEmptry: { length: 0 }' );
44
45 });
46
47 test( 'Comparison functions', function(){
48
49 ok( $j.compareArray( [0, 'a', [], [2, 'b'] ], [0, "a", [], [2, "b"] ] ),
50 'compareArray: Two deep arrays that are excactly the same' );
51 ok( !$j.compareArray( [1], [2] ), 'compareArray: Two different arrays (false)' );
52
53 ok( $j.compareObject( {}, {} ), 'compareObject: Two empty objects' );
54 ok( $j.compareObject( { foo: 1 }, { foo: 1 } ), 'compareObject: Two the same objects' );
55 ok( !$j.compareObject( { bar: true }, { baz: false } ),
56 'compareObject: Two different objects (false)' );
57
58 });