drawer.test.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. describe("drawerTests",function(){
  2. before(function(){
  3. $.afui.hasLaunched=false;
  4. $("#drawertest").remove();
  5. $(document.body).append("<div id='drawertest'></div>");
  6. $("#drawertest").append(__html__['test/fixtures/drawer.html']);
  7. $.afui.isLaunching=false;
  8. $.afui.hasLaunched=true;
  9. $.afui.launchCompleted=false;
  10. $.afui.defaultPanel=null;
  11. $.afui.activeDiv=null;
  12. $.afui.launch();
  13. });
  14. after(function(){
  15. $("#drawertest").remove();
  16. });
  17. it("should wait for afui read",function(done){
  18. $.afui.ready(function(){
  19. done();
  20. });
  21. });
  22. it("should show left menu by cover js call",function(done){
  23. //$("#leftcover").trigger("click");
  24. $.afui.drawer.show("#left","left","cover");
  25. setTimeout(function(){
  26. expect($("#left").hasClass("active")).to.be.true;
  27. done();
  28. },500);
  29. });
  30. it("should close the left menu",function(done){
  31. $.afui.drawer.hide('#left');
  32. setTimeout(function(){
  33. expect($("#left").hasClass("active")).to.be.false;
  34. done();
  35. },500);
  36. });
  37. it("should show left menu by push data directive",function(done){
  38. $("#leftpush").trigger("click");
  39. setTimeout(function(){
  40. expect($("#left").hasClass("active")).to.be.true;
  41. expect($($.afui.activeDiv).closest('.view').find('.slide-left-out').length===3).to.be.true
  42. done();
  43. },500);
  44. });
  45. it("should close the left menu by data directive",function(done){
  46. $("#hideactive").trigger("click");
  47. setTimeout(function(){
  48. expect($("#left").hasClass("active")).to.be.false;
  49. done();
  50. },500);
  51. });
  52. it("should show right menu by cover js call",function(done){
  53. //$("#leftcover").trigger("click");
  54. $.afui.drawer.show("#right","right","reveal");
  55. setTimeout(function(){
  56. expect($("#right").hasClass("active")).to.be.true;
  57. expect($($.afui.activeDiv).closest('.view').find('.slide-right-out').length===3).to.be.true
  58. done();
  59. },500);
  60. });
  61. it("should close the right menu",function(done){
  62. $("#hideright").trigger("click");
  63. setTimeout(function(){
  64. expect($("#right").hasClass("active")).to.be.false;
  65. done();
  66. },500);
  67. });
  68. it("should show left menu and auto hide",function(done){
  69. //$("#leftcover").trigger("click");
  70. $.afui.drawer.show("#left","left","reveal");
  71. setTimeout(function(){
  72. expect($("#left").hasClass("active")).to.be.true;
  73. $.afui.drawer.hide();
  74. setTimeout(function(){
  75. expect($("#left").hasClass("active")).to.be.false;
  76. done();
  77. },500);
  78. },500);
  79. });
  80. it("should show left",function(done){
  81. //$("#leftcover").trigger("click");
  82. $.afui.drawer.show("#left","left","reveal");
  83. setTimeout(function(){
  84. done();
  85. },500);
  86. });
  87. it("should hide left when showing right",function(done){
  88. //$("#leftcover").trigger("click");
  89. expect($("#left").hasClass("active")).to.be.true;
  90. $.afui.drawer.show("#right","right","reveal");
  91. setTimeout(function(){
  92. expect($("#right").hasClass("active")).to.be.true;
  93. expect($("#left").hasClass("active")).to.be.false;
  94. done();
  95. },500);
  96. });
  97. it("should do nothing when already shown",function(done){
  98. //$("#leftcover").trigger("click");
  99. $.afui.drawer.show("#left","left","reveal");
  100. setTimeout(function(){
  101. $.afui.drawer.show("#left","left","reveal");
  102. done();
  103. },500);
  104. });
  105. });