diff --git a/tests/unit/zoom/zoom.js b/tests/unit/zoom/zoom.js index ab6bd448..28329903 100644 --- a/tests/unit/zoom/zoom.js +++ b/tests/unit/zoom/zoom.js @@ -7,18 +7,15 @@ var defaultMeta = $( "meta[name=viewport]" ).attr("content"); - - function injectMeta( content ){ - $( "meta[name=viewport]" ).attr("content", content || defaultMeta ); - } - - - - test( "User zooming is enabled by default", function(){ ok( $.mobile.zoom.enabled === true, "property is true" ); }); + test( "The zoom lock is disabled by default", function(){ + ok( $.mobile.zoom.locked === false, "property is false" ); + }); + + test( "Meta viewport content is manipulated with maximum-scale", function(){ $.mobile.zoom.disable(); ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum\-scale=1$/ ), "The meta viewport tag's content contains maximum-scale=1 after enable is called" ); @@ -39,4 +36,64 @@ + test( "When locked, the enable method does nothing", function(){ + //enabled it first + $.mobile.zoom.locked = false; + $.mobile.zoom.disable(); + $.mobile.zoom.locked = true; + $.mobile.zoom.enable(); + + ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum\-scale=1$/ ), "The meta viewport tag's content contains maximum-scale=1 after enable is called" ); + $.mobile.zoom.locked = false; + $.mobile.zoom.enable(); + + }); + + test( "When locked, the disable method does nothing", function(){ + //enabled it first + $.mobile.zoom.locked = false; + $.mobile.zoom.enable(); + $.mobile.zoom.locked = true; + $.mobile.zoom.disable(); + + ok( $( "meta[name=viewport]" ).attr( "content" ).indexOf( ",maximum-scale=10" ) > 0, "The meta viewport tag's content contains maximum-scale=10 after disable is called" ); + + $.mobile.zoom.locked = false; + $.mobile.zoom.enable(); + + }); + + test( "When locked, the enable method with a true 'unlock' argument works", function(){ + //enabled it first + $.mobile.zoom.locked = false; + $.mobile.zoom.disable(); + $.mobile.zoom.locked = true; + $.mobile.zoom.enable( true ); + + ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum\-scale=10$/ ), "The meta viewport tag's content contains maximum-scale=10 after enable is called" ); + ok( $.mobile.zoom.locked === false, "The locked property is false again" ); + + $.mobile.zoom.locked = false; + $.mobile.zoom.enable(); + + }); + + + test( "When locked, the disable method with a true 'lock' argument works", function(){ + //enabled it first + $.mobile.zoom.locked = false; + $.mobile.zoom.enable(); + + $.mobile.zoom.disable( true ); + + ok( $( "meta[name=viewport]" ).attr( "content" ).match( /,maximum\-scale=1$/ ), "The meta viewport tag's content contains maximum-scale=1 after disable is called" ); + ok( $.mobile.zoom.locked === true, "The locked property is true" ); + + $.mobile.zoom.locked = false; + $.mobile.zoom.enable(); + + }); + + + })(jQuery);