button.js 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /**
  2. * Created by JetBrains PhpStorm.
  3. * User: dongyancen
  4. * Date: 12-4-12
  5. * Time: 下午1:24
  6. * To change this template use File | Settings | File Templates.
  7. */
  8. module( 'ui.button' );
  9. test( 'Button', function () {
  10. var div = document.body.appendChild( document.createElement( 'div' ) );
  11. var Button = new te.obj[0].Button( {title:'testButton', label:'test',editor:te.obj[0].Editor()} );
  12. div.innerHTML = Button.renderHtml();
  13. var testButton = div.getElementsByTagName( 'div' )[3];
  14. equal( testButton.attributes['title'].nodeValue, 'testButton', '检查Button的title ' );
  15. } );
  16. test( "工具栏国际化", function () {
  17. var div = document.createElement( "div" );
  18. div.id = "editor1";
  19. div.style.cssText = "width:1px;height:1px;";
  20. document.body.appendChild( div );
  21. var editor = top.ueditor = new baidu.editor.ui.Editor( {
  22. lang:"en"
  23. } );
  24. editor.render( "editor1" );
  25. stop();
  26. editor.ready(function () {
  27. var uiItems = editor.ui.toolbars[0].items, flag, paragraph, op;
  28. for ( var i = 0, ci; ci = uiItems[i++]; ) {
  29. op = ci.className.split( "-" )[2];
  30. if ( op == "paragraph" ) {
  31. var items = ci.items, flag1;
  32. for ( var j = 0, cj; cj = items[j++]; ) {
  33. if ( cj.label != editor.getLang( "paragraph." + cj.value ) ) {
  34. flag1 = true;
  35. break;
  36. }
  37. }
  38. ok( !flag1, "段落下拉列表是否符合预期" )
  39. }
  40. if ( ci.title !== editor.getLang( "labelMap." + op ) ) {
  41. flag = true;
  42. break;
  43. }
  44. }
  45. ok( !flag, "工具按钮Tip是否符合预期" );
  46. setTimeout( function () {
  47. // editor.destroy();
  48. div.parentNode.removeChild(div);
  49. start();
  50. }, 100 );
  51. } )
  52. } );
  53. test( "Dialog国际化", function () {
  54. var editor = te.obj[0].Editor();
  55. editor.render( "editor" );
  56. stop();
  57. editor.ready( function () {
  58. editor.setContent( "<span>xx</span><p>xxx</p>" );
  59. var doc = editor.document,
  60. range = new baidu.editor.dom.Range( doc ),
  61. p = doc.getElementsByTagName( 'p' )[1];
  62. range.setStart( p, 0 ).setEnd( p, 1 ).select();
  63. var r = editor.selection.getRange();
  64. var dom = $( '#'+document.getElementsByClassName("edui-for-insertimage")[0].id+'_body' )[0];
  65. ua.click( dom );
  66. setTimeout(function(){
  67. var dialog = editor.ui._dialogs['insertimageDialog'];
  68. ok(dialog.title===editor.getLang("labelMap.insertimage"),"dialog的标题是否一致");
  69. ok(dialog.closeDialog === editor.getLang("closeDialog"),"关闭dialog的title是否一致");
  70. ok(dialog.buttons[0].label === editor.getLang("ok") && dialog.buttons[1].label === editor.getLang("cancel"),"确认取消按钮是否一致");
  71. setTimeout( function () {
  72. var dialogDoc = document.getElementById(dialog.id + "_iframe").contentWindow.document;
  73. var ids = editor.getLang("insertimage.static");
  74. for(var i in ids){
  75. if(i==="imgSearchTxt"){
  76. equal(dialogDoc.getElementById(i).value,ids[i].value,"图片搜索文字是否一致")
  77. }
  78. if(i==="imgSearchBtn"){
  79. equal(dialogDoc.getElementById(i).value,ids[i].value,"图片搜索按钮文字是否一致")
  80. }
  81. }
  82. ua.click(document.getElementById(dialog.closeButton.id+"_body"));
  83. var newRange = editor.selection.getRange();
  84. ok( r.startContainer === newRange.startContainer, "dialog开闭前后选区是否一致" );
  85. start();
  86. }, 1500 )
  87. },100);
  88. } )
  89. } );