///**
// * Created by JetBrains PhpStorm.
// * User: dongyancen
// * Date: 12-9-19
// * Time: 下午4:19
// * To change this template use File | Settings | File Templates.
// */
module('plugins.contextmenu');
//test('stop', function () {stop();});
test('基本右键菜单', function () {
var editor = te.obj[0];
stop();
ua.contextmenu(editor.body);
var lang = editor.getLang("contextMenu");
equal(document.getElementsByClassName("edui-menu-body").length, 3, '默认3个menu,一个主的,一个段落格式,一个表格');
var menuBody = document.getElementsByClassName("edui-menu-body")[0];
equal(menuBody.parentNode.parentNode.parentNode.style.display, '', '第一个menu显示');
equal(menuBody.childNodes.length, 11, '第一个menu8个items3个分隔线');
// var space = browser.webkit||ua.browser.ie==9?"\n":'';
var innerText = lang['selectall'] + lang.cleardoc + lang.paragraph + lang.table + lang.insertparagraphbefore + lang.insertparagraphafter + lang['copy'] + lang['paste'];
if (browser.gecko) {
equal(menuBody.textContent, innerText, '检查menu显示的字符');
}
else {
equal(menuBody.innerText.replace(/[\r\n\t\u200b\ufeff]/g, ''), innerText, '检查menu显示的字符');
}
ok(menuBody.childNodes[0].className.indexOf("edui-for-selectall") > -1, '检查menu样式');
var menuparagraphBody = document.getElementsByClassName("edui-menu-body")[1];
equal(menuparagraphBody.parentNode.parentNode.parentNode.style.display, 'none', '第二个menu隐藏');
var menutableBody = document.getElementsByClassName("edui-menu-body")[2];
if (ua.browser.ie) {
ua.mouseenter(menuBody.childNodes[3]);
} else {
ua.mouseover(menuBody.childNodes[3]);
}
setTimeout(function () {
lang = editor.getLang("contextMenu");
equal(menuparagraphBody.parentNode.parentNode.parentNode.style.display, 'none', '显示submenu,检查submenu的display值:""');
equal(menuparagraphBody.childNodes.length, 4, '检查submenu的menuitems数量');
equal(menutableBody.parentNode.parentNode.parentNode.style.display, 'none', '显示table submenu,检查submenu的display值:""');
/*trace 3038*/
if (ua.browser.ie && ua.browser.ie < 9) {
equal(menutableBody.childNodes.length, 2, 'ie有一条分隔线');
} else {
equal(menutableBody.childNodes.length, 1, '只有插入表格选项');
}
innerText = lang["justifyleft" ] + lang["justifyright" ] + lang["justifycenter" ] + lang[ "justifyjustify" ];
if (browser.gecko) {
equal(menuparagraphBody.textContent, innerText, '检查menu显示的字符');
equal(menutableBody.textContent, lang["inserttable" ], '检查table menu显示的字符');
}
else {
equal(menuparagraphBody.innerText.replace(/[\r\n\t\u200b\ufeff]/g, ''), innerText, '检查menu显示的字符');
equal(menutableBody.innerText.replace(/[\r\n\t\u200b\ufeff]/g, ''), lang["inserttable" ], '检查table menu显示的字符');
}
ua.click(menuparagraphBody.childNodes[1]);
setTimeout(function () {
equal(editor.body.firstChild.style.textAlign, 'right', '文本右对齐');
document.getElementById('edui_fixedlayer').parentNode.removeChild(document.getElementById('edui_fixedlayer'));
te.dom.push(editor.container);
start();
}, 500);
}, 200);
});
test('表格右键菜单', function () {
var editor = te.obj[0];
var range = te.obj[1];
stop();
var lang = editor.getLang("contextMenu");
editor.setContent('
');
setTimeout(function () {
range.setStart(editor.body.firstChild.firstChild.firstChild.firstChild.firstChild, 0).collapse(true).select();
ua.contextmenu(editor.body.firstChild.firstChild.firstChild);
// 点开右键菜单
equal(document.getElementsByClassName("edui-menu-body").length, 5, '获得edui-menu-body名称的class个数5');
var menuBody = document.getElementsByClassName("edui-menu-body")[0];
equal(menuBody.childNodes.length, 13, '第一个menu11个items2个分隔线');
var innerText = lang.selectall + lang.cleardoc + lang.table + lang.tablesort + lang.borderbk+ lang.aligntd + lang.aligntable + lang.insertparagraphbefore + lang.insertparagraphafter + lang['copy'] + lang['paste'];
if (browser.gecko) {
equal(menuBody.textContent, innerText, '检查menu显示的字符');
}
else {
equal(menuBody.innerText.replace(/[\r\n\t\u200b\ufeff]/g, ''), innerText, '检查menu显示的字符');
}
var menutableBody = document.getElementsByClassName("edui-menu-body")[1];
var forTable = document.getElementsByClassName('edui-for-table');
//点开'表格'子菜单
if (ua.browser.ie) {
ua.mouseenter(forTable[forTable.length - 1]);
} else {
ua.mouseover(forTable[forTable.length - 1]);
}
setTimeout(function () {
lang = editor.getLang("contextMenu");
equal(menutableBody.parentNode.parentNode.parentNode.style.display, 'none', '显示submenu,检查submenu的display值:""');
equal(menutableBody.childNodes.length, 19, '14个items5个分隔线');
var innerText = lang.deletetable + lang.deleterow + lang.deletecol+ lang.insertcol + lang.insertcolnext + lang.insertrow + lang.insertrownext + lang.insertcaption + lang.inserttitle + lang.inserttitlecol + lang.mergeright + lang.mergedown + lang.edittd + lang.edittable+lang.setbordervisible;
if (browser.gecko) {
equal(menutableBody.textContent, innerText, '检查menu显示的字符');
}
else {
equal(menutableBody.innerText.replace(/[\r\n\t\u200b\ufeff]/g, ''), innerText, '检查menu显示的字符');
}
ua.click(menutableBody.childNodes[0]);
equal(editor.body.getElementsByTagName('table').length, 0, '删除表格');
setTimeout(function () {
document.getElementById('edui_fixedlayer').parentNode.removeChild(document.getElementById('edui_fixedlayer'));
te.dom.push(editor.container);
start();
}, 200);
}, 200);
}, 100);
});
/*trace 3044*/
test('trace 3044:表格名称中右键', function () {
var editor = te.obj[0];
var range = te.obj[1];
stop();
var lang = editor.getLang("contextMenu");
editor.execCommand('cleardoc');
editor.execCommand('inserttable');
range.setStart(editor.body.getElementsByTagName('td')[0], 0).collapse(true).select();
ua.contextmenu(editor.body.firstChild);
var menutableBody = document.getElementsByClassName("edui-menu-body")[1];
var forTable = document.getElementsByClassName('edui-for-table');
if (ua.browser.ie) {
ua.mouseenter(forTable[forTable.length - 1]);
} else {
ua.mouseover(forTable[forTable.length - 1]);
}
setTimeout(function () {
lang = editor.getLang("contextMenu");
ua.click(menutableBody.childNodes[9]);
var caption = editor.body.getElementsByTagName('caption');
equal(caption.length, 1, '插入表格名称');
range.setStart(caption[0], 0).collapse(true).select();
ua.contextmenu(editor.body.firstChild.firstChild);
forTable = document.getElementsByClassName('edui-for-table');
if (ua.browser.ie) {
ua.mouseenter(forTable[forTable.length - 1]);
} else {
ua.mouseover(forTable[forTable.length - 1]);
}
setTimeout(function () {
lang = editor.getLang("contextMenu");
menutableBody = document.getElementsByClassName("edui-menu-body")[1];
if (ua.browser.ie == 8) {
equal(menutableBody.childNodes.length, 9, '9个子项目,其中有2条分隔线');
} else {
equal(menutableBody.childNodes.length, 7, '7个子项目');
}
var innerText = lang.deletetable + lang.deletecaption + lang.inserttitle+lang.inserttitlecol + lang.edittd + lang.edittable+lang.setbordervisible;
if (browser.gecko) {
equal(menutableBody.textContent, innerText, '检查menu显示的字符');
} else {
equal(menutableBody.innerText.replace(/[\r\n\t\u200b\ufeff]/g, ''), innerText, '检查menu显示的字符');
}
setTimeout(function () {
document.getElementById('edui_fixedlayer').parentNode.removeChild(document.getElementById('edui_fixedlayer'));
te.dom.push(editor.container);
start();
}, 200);
}, 200);
}, 200);
});
/*trace 3088*/
test('trace 3088:检查表格属性', function () {
// if (ua.browser.ie >8)return;
var div = document.body.appendChild(document.createElement('div'));
div.id = 'ue';
var editor = UE.getEditor('ue');
stop();
editor.ready(function () {
var range = new baidu.editor.dom.Range(editor.document);
var lang = editor.getLang("contextMenu");
editor.execCommand('cleardoc');
editor.execCommand('inserttable');
range.setStart(editor.body.getElementsByTagName('td')[0], 0).collapse(true).select();
editor.execCommand('inserttitle');
range.setStart(editor.body.getElementsByTagName('td')[0], 0).collapse(true).select();
editor.execCommand('insertcaption');
range.setStart(editor.body.getElementsByTagName('caption')[0], 0).collapse(true).select();
editor.execCommand('deletetitle');
setTimeout(function () {
range.setStart(editor.body.getElementsByTagName('caption')[0], 0).collapse(true).select();
ua.contextmenu(editor.body.firstChild.firstChild);
setTimeout(function () {
var menutable = document.getElementsByClassName("edui-menu-body")[1];
var forTable = document.getElementsByClassName('edui-for-table');
//点开'表格属性'(表格子菜单的倒数第二项)
if (ua.browser.ie&&ua.browser.ie<9) {
ua.mouseenter(forTable[forTable.length - 1]);
ua.click(menutable.childNodes[menutable.childNodes.length-2]);
} else {
ua.mouseover(forTable[forTable.length - 1]);
ua.click(menutable.childNodes[menutable.childNodes.length-2]);
}
lang = editor.getLang("contextMenu");
setTimeout(function () {
var iframe = document.getElementsByTagName('iframe');
var iframe1 ;
for (var i = 0; i