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