2 * mobile Fixed Toolbar unit tests
5 module('jquery.mobile.fixedToolbar.js');
7 var defaultMeta = $( "meta[name=viewport]" ).attr("content");
10 test( "User zooming is enabled by default", function(){
11 ok( $.mobile.zoom.enabled === true, "property is true" );
14 test( "The zoom lock is disabled by default", function(){
15 ok( $.mobile.zoom.locked === false, "property is false" );
19 test( "Meta viewport content is manipulated with maximum-scale", function(){
20 $.mobile.zoom.disable();
21 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=1, user-scalable=no/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes after enable is called" );
23 $.mobile.zoom.enable();
24 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=10, user-scalable=yes/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes0, user-scalable=no after enable is called" );
28 test( "Meta viewport content restore method restores it back to original value", function(){
29 $.mobile.zoom.disable();
30 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=1, user-scalable=no/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes after enable is called" );
32 $.mobile.zoom.restore();
33 ok( $( "meta[name=viewport]" ).attr( "content" ) === defaultMeta, "The meta viewport tag's content matches its default state" );
39 test( "When locked, the enable method does nothing", function(){
41 $.mobile.zoom.locked = false;
42 $.mobile.zoom.disable();
43 $.mobile.zoom.locked = true;
44 $.mobile.zoom.enable();
46 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=1, user-scalable=no/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes after enable is called" );
47 $.mobile.zoom.locked = false;
48 $.mobile.zoom.enable();
52 test( "When locked, the disable method does nothing", function(){
54 $.mobile.zoom.locked = false;
55 $.mobile.zoom.enable();
56 $.mobile.zoom.locked = true;
57 $.mobile.zoom.disable();
59 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=10, user-scalable=yes/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes0, user-scalable=no after disable is called" );
61 $.mobile.zoom.locked = false;
62 $.mobile.zoom.enable();
66 test( "When locked, the enable method with a true 'unlock' argument works", function(){
68 $.mobile.zoom.locked = false;
69 $.mobile.zoom.disable();
70 $.mobile.zoom.locked = true;
71 $.mobile.zoom.enable( true );
73 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=10, user-scalable=yes/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes0, user-scalable=no after enable is called" );
74 ok( $.mobile.zoom.locked === false, "The locked property is false again" );
76 $.mobile.zoom.locked = false;
77 $.mobile.zoom.enable();
82 test( "When locked, the disable method with a true 'lock' argument works", function(){
84 $.mobile.zoom.locked = false;
85 $.mobile.zoom.enable();
87 $.mobile.zoom.disable( true );
89 ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum-scale=1, user-scalable=no/ ), "The meta viewport tag's content contains maximum-scale=1, user-scalable=yes after disable is called" );
90 ok( $.mobile.zoom.locked === true, "The locked property is true" );
92 $.mobile.zoom.locked = false;
93 $.mobile.zoom.enable();