/tests/unit/zoom/zoom.js

https://github.com/forresst/jquery-mobile-fr_FR · JavaScript · 99 lines · 59 code · 33 blank · 7 comment · 0 complexity · fd66d963c8565efb686081fffc06dba8 MD5 · raw file

  1. /*
  2. * mobile Fixed Toolbar unit tests
  3. */
  4. (function($){
  5. module('jquery.mobile.fixedToolbar.js');
  6. var defaultMeta = $( "meta[name=viewport]" ).attr("content");
  7. test( "User zooming is enabled by default", function(){
  8. ok( $.mobile.zoom.enabled === true, "property is true" );
  9. });
  10. test( "The zoom lock is disabled by default", function(){
  11. ok( $.mobile.zoom.locked === false, "property is false" );
  12. });
  13. test( "Meta viewport content is manipulated with maximum-scale", function(){
  14. $.mobile.zoom.disable();
  15. 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" );
  16. $.mobile.zoom.enable();
  17. 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" );
  18. });
  19. test( "Meta viewport content restore method restores it back to original value", 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" );
  22. $.mobile.zoom.restore();
  23. ok( $( "meta[name=viewport]" ).attr( "content" ) === defaultMeta, "The meta viewport tag's content matches its default state" );
  24. });
  25. test( "When locked, the enable method does nothing", function(){
  26. //enabled it first
  27. $.mobile.zoom.locked = false;
  28. $.mobile.zoom.disable();
  29. $.mobile.zoom.locked = true;
  30. $.mobile.zoom.enable();
  31. 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.locked = false;
  33. $.mobile.zoom.enable();
  34. });
  35. test( "When locked, the disable method does nothing", function(){
  36. //enabled it first
  37. $.mobile.zoom.locked = false;
  38. $.mobile.zoom.enable();
  39. $.mobile.zoom.locked = true;
  40. $.mobile.zoom.disable();
  41. 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" );
  42. $.mobile.zoom.locked = false;
  43. $.mobile.zoom.enable();
  44. });
  45. test( "When locked, the enable method with a true 'unlock' argument works", function(){
  46. //enabled it first
  47. $.mobile.zoom.locked = false;
  48. $.mobile.zoom.disable();
  49. $.mobile.zoom.locked = true;
  50. $.mobile.zoom.enable( true );
  51. 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" );
  52. ok( $.mobile.zoom.locked === false, "The locked property is false again" );
  53. $.mobile.zoom.locked = false;
  54. $.mobile.zoom.enable();
  55. });
  56. test( "When locked, the disable method with a true 'lock' argument works", function(){
  57. //enabled it first
  58. $.mobile.zoom.locked = false;
  59. $.mobile.zoom.enable();
  60. $.mobile.zoom.disable( true );
  61. 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" );
  62. ok( $.mobile.zoom.locked === true, "The locked property is true" );
  63. $.mobile.zoom.locked = false;
  64. $.mobile.zoom.enable();
  65. });
  66. })(jQuery);