menubutton.js 6.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /**
  2. * Created by JetBrains PhpStorm.
  3. * User: dongyancen
  4. * Date: 12-4-27
  5. * Time: 下午5:46
  6. * To change this template use File | Settings | File Templates.
  7. */
  8. module( 'ui.menubutton' );
  9. test( 'menubutton', function() {
  10. var editor = new baidu.editor.ui.Editor();
  11. editor.render("editor");
  12. //设置菜单内容
  13. var val=['1', '1.5','1.75','2', '3', '4', '5'];
  14. for(var i=0,ci,items=[];ci = val[i++];){
  15. items.push({
  16. label : ci,
  17. value: ci,
  18. onclick:function(){
  19. }
  20. })
  21. }
  22. editor.ready(function(){
  23. var menuButton = new te.obj[0].MenuButton({editor:editor,className : 'edui-for-lineheight',items :items});
  24. var value = val[1];
  25. menuButton.setValue(value);
  26. te.dom[0].innerHTML = menuButton.renderHtml();
  27. menuButton.postRender();
  28. menuButton.showPopup();
  29. equal(menuButton.popup.getDom().style.display,"",'窗口显示');
  30. equal(document.getElementsByClassName("edui-popup edui-menu")[0].style.display,"",'menu窗口显示');
  31. //检查初始化的显示
  32. equal(document.getElementsByClassName("edui-menuitem edui-"+editor.options.theme+" edui-state-checked").length,1,'设定已经选中一个value');
  33. equal(document.getElementsByClassName('edui-menuitem edui-'+editor.options.theme+' edui-state-checked')[0].firstChild.lastChild.innerHTML,value,'检查选中的value');
  34. //click
  35. ua.click(document.getElementsByClassName("edui-menu-body")[0].childNodes[2]);
  36. equal(menuButton.popup.getDom().style.display,"none",'窗口关闭');
  37. equal(document.getElementsByClassName("edui-popup edui-menu")[0].style.display,"none",'menu窗口关闭');
  38. menuButton.showPopup();
  39. if(ua.browser.ie){
  40. ua.mouseenter(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  41. ok(document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mouseover加上hover样式');
  42. ua.mousedown(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  43. ok(document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mousedown加上active样式');//edui-state-active
  44. ua.mouseleave(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  45. ok(!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),' mouseout去掉hover和active样式');
  46. ////////mouseover->mouseout
  47. ua.mouseenter(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  48. ua.mouseleave(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  49. ok(!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mouseout去掉hover和active样式');
  50. }
  51. else{
  52. //mouseover->mousedown->mouseout
  53. ua.mouseover(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  54. ok(document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mouseover加上hover样式');
  55. ua.mousedown(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  56. ok(document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mousedown加上active样式');//edui-state-active
  57. ua.mouseout(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  58. ok(!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),' mouseout去掉hover和active样式');
  59. ////////mouseover->mouseout
  60. ua.mouseover(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  61. ua.mouseout(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  62. ok(!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mouseout去掉hover和active样式');
  63. }
  64. /////mousedown->mouseup
  65. ua.mousedown(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  66. ok(!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mousedown加上active样式');
  67. ua.mouseup(document.getElementsByClassName("edui-menu-body")[0].childNodes[2],{relatedTarget:document.getElementsByClassName('edui-popup edui-menu')[0]});
  68. ok(!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-hover')&&!document.getElementsByClassName("edui-menu-body")[0].childNodes[2].className.match('edui-state-active'),'mouseup去掉active样式');
  69. menuButton.popup.hide();
  70. start();
  71. });
  72. stop();
  73. } );