splitbutton.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * Created by JetBrains PhpStorm.
  3. * User: dongyancen
  4. * Date: 12-5-2
  5. * Time: 下午2:36
  6. * To change this template use File | Settings | File Templates.
  7. */
  8. module( 'ui.splitbutton' );
  9. test( 'splitbutton', function() {
  10. //打开一个对话框
  11. var editor = new baidu.editor.ui.Editor();
  12. editor.render("editor");
  13. editor.ready(function(){
  14. var splitButton = new te.obj[0].SplitButton({popup:new baidu.editor.ui.Popup({
  15. //传入配置参数
  16. content: new te.obj[0].SplitButton({editor:editor}),
  17. 'editor':editor
  18. }), editor:editor});
  19. te.dom[0].innerHTML = splitButton.renderHtml();
  20. splitButton.postRender();
  21. splitButton.showPopup();
  22. equal(splitButton.popup.getDom('body').lastChild,splitButton.popup.getDom('bordereraser'),'检查:addListener:postrender');
  23. ok(contains(splitButton.getStateDom().className,"edui-state-opened"),'_onPopupShow');
  24. splitButton.popup.hide();
  25. equal(splitButton.getStateDom().className,"",'_onPopupHide');
  26. splitButton.popup.show();
  27. ok(contains(splitButton.getStateDom().className,"edui-state-opened"),'_onPopupShow');
  28. var flag = 0;
  29. //有两个baidu.editor.ui.SplitButton,通过popup操作的是第一个
  30. splitButton.addListener('buttonclick', function(){
  31. flag = 1;
  32. });
  33. ua.click(document.getElementsByClassName('edui-box edui-button-body')[0]);
  34. equal(flag, 1,'_onButtonClick');
  35. ua.click(document.getElementsByClassName('edui-box edui-arrow')[0]);
  36. ok(contains(splitButton.getStateDom().className,"edui-state-opened"),'_onArrowClick');
  37. splitButton.popup.hide();
  38. equal(splitButton.getStateDom().className,"",'_onArrowClick');
  39. ua.click(document.getElementsByClassName('edui-box edui-arrow')[0]);
  40. ok(contains(splitButton.getStateDom().className,"edui-state-opened"),'_onArrowClick');
  41. splitButton.popup.hide();
  42. start();
  43. });
  44. stop();
  45. function contains(string,substr,isIgnoreCase)
  46. {
  47. if(isIgnoreCase)
  48. {
  49. string=string.toLowerCase();
  50. substr=substr.toLowerCase();
  51. }
  52. var startChar=substr.substring(0,1);
  53. var strLen=substr.length;
  54. for(var j=0;j<string.length-strLen+1;j++)
  55. {
  56. if(string.charAt(j)==startChar)//如果匹配起始字符,开始查找
  57. {
  58. if(string.substring(j,j+strLen)==substr)//如果从j开始的字符与str匹配,那ok
  59. {
  60. return true;
  61. }
  62. }
  63. }
  64. return false;
  65. }
  66. } );