module('plugins.insertcode'); //test('',function(){stop();}) test('trace 3343:插入代码中有空行', function () { var editor = te.obj[0]; var range = te.obj[1]; editor.setContent('hello'); ua.keydown(editor.body, {'keyCode':65, 'ctrlKey':true}); editor.execCommand('insertcode', 'Java'); range.setStart(editor.body.firstChild, 0).collapse(true).select(); ua.keydown(editor.body, {'keyCode':13}); range.setStart(editor.body.firstChild, 0).collapse(true).select(); ua.keydown(editor.body, {'keyCode':13}); range.setStart(editor.body.firstChild, 0).collapse(true).select(); range.insertNode(editor.document.createTextNode('hello')); var br = ua.browser.ie ? '' : '
'; if (ua.browser.ie) ua.checkSameHtml(editor.body.innerHTML, '

hello​​
​​hello

', '插入代码'); else if (ua.browser.gecko||ua.browser.webkit) ua.checkSameHtml(editor.body.innerHTML, '
hello

hello
', '插入代码'); else ua.checkSameHtml(editor.body.innerHTML, '
hello

hello

' + br + '

', '插入代码'); setTimeout(function () { editor.execCommand('source'); setTimeout(function () { editor.execCommand('source'); var br = ua.browser.ie ? '' : '
'; if (ua.browser.ie&&ua.browser.ie<9) ua.checkSameHtml(editor.body.innerHTML, "
hello
hello

 

", '样式不变'); else if (ua.browser.gecko||ua.browser.webkit) ua.checkSameHtml(editor.body.innerHTML, '
hello

hello
', '样式不变'); start(); }, 20); }, 20); stop(); }); test('trace 3355:不闭合选区插入代码', function () { var editor = te.obj[0]; var code = '<div id="upload" style="display: none" ><img id="uploadBtn"></div>'; editor.setContent(code); setTimeout(function () { ua.keydown(editor.body, {'keyCode': 65, 'ctrlKey': true}); editor.execCommand('insertcode', 'html'); var br = ua.browser.ie ? '' : '
'; if (ua.browser.gecko || ua.browser.opera ||ua.browser.webkit) ua.checkSameHtml(editor.body.innerHTML, '
<div id=\"upload\" style=\"display: none\" ><img id=\"uploadBtn\"></div>
', '检查插入了html'); else ua.checkSameHtml(editor.body.innerHTML, '
<div id=\"upload\" style=\"display: none\" ><img id=\"uploadBtn\"></div>

' + br + '

', '检查插入了html'); start(); }, 50); stop(); }); test('trace 3395:插入代码为空时,清空编辑器', function () { var editor = te.obj[0]; var range = te.obj[1]; editor.setContent(''); editor.execCommand('insertcode', 'html'); var br = ua.browser.ie ? ' ' : '
'; if (ua.browser.gecko||ua.browser.ie > 10) ua.checkSameHtml(editor.body.firstChild.outerHTML, '

', '检查插入了html'); else if (ua.browser.ie > 8) ua.checkSameHtml(editor.body.firstChild.outerHTML, '
', '检查插入了html');
        else
            ua.checkSameHtml(editor.body.firstChild.outerHTML, '
' + br + '
', '检查插入了html'); range.setStart(editor.body.firstChild, 0).collapse(true).select(); range.insertNode(editor.document.createTextNode('hello'));//TODO bug修复把此行删除 ua.keydown(editor.body, {'keyCode':65, 'ctrlKey':true}); ua.keydown(editor.body, {'keyCode':8}); br = ua.browser.ie ? '' : '
'; ua.checkSameHtml(editor.body.innerHTML, '

' + br + '

', '检查编辑器清空'); if(!ua.browser.ie){ editor.setContent('
');
        editor.fireEvent('delkeydown',{});
        ua.checkSameHtml(editor.body.innerHTML, '

' + br + '

', '检查编辑器清空'); } editor.setContent('
');
        ua.keydown(editor.body, {'keyCode':40});

        if(ua.browser.ie==8||ua.browser.ie==11)
            br = '
' if(ua.browser.ie==8)return; ua.checkSameHtml(editor.body.innerHTML,'
'+br+'
','方向键处理'); }); test('trace 3396:多次切换源码,不会产生空行', function () { var editor = te.obj[0]; editor.setContent('

<body>

</body>

'); ua.keydown(editor.body, {'keyCode':65, 'ctrlKey':true}); editor.execCommand('insertcode', 'html'); var br = (ua.browser.ie==9||ua.browser.ie==10) ? '\n' : '
'; var p = editor.body.firstChild.outerHTML.toLowerCase(); var x ='\"'; if(ua.browser.ie<9&&ua.browser.ie)x=''; equal(p, '
<body>'+br+'</body>
', '检查插入了html') ua.checkSameHtml(editor.body.firstChild.outerHTML, '
<body>'+br+'</body>
', '检查插入了html'); //todo 1.3.6 3853 setTimeout(function () { editor.execCommand('source'); setTimeout(function () { editor.execCommand('source'); var end = (ua.browser.ie==9||ua.browser.ie==10) ?'':'
'; br =(ua.browser.ie==9||ua.browser.ie==10) ?'\n':'
'; var Bbr =( ua.browser.ie&&ua.browser.ie<9)?'\n':''; ua.checkSameHtml(editor.body.firstChild.innerHTML, '<body>'+Bbr+br+'</body>'+end, '切回源码无影响'); // setTimeout(function() {//TODO bug修复后去掉注释 // editor.execCommand('source'); // setTimeout(function() { // editor.execCommand('source'); // ua.checkSameHtml(editor.body.firstChild.innerHTML,'<body>
</body>
','切回源码无影响'); // setTimeout(function () { // UE.delEditor('ue'); // document.getElementById('ue')&&te.dom.push(document.getElementById('ue')); start(); }, 20); }, 20); stop(); }); test('trace 3407:表格中插入代码', function () { var editor = te.obj[0]; var range = te.obj[1]; editor.setContent(''); editor.execCommand('inserttable'); stop(); setTimeout(function () { var tds = editor.body.getElementsByTagName('td'); tds[1].innerHTML = 'asd'; range.setStart(tds[1], 0).setEnd(tds[1], 1).select(); editor.execCommand('insertcode', 'Javascript'); var br = ua.browser.ie ? ' ' : '
'; ua.checkSameHtml(tds[1].innerHTML, '
asd
', '检查插入了html'); // stop(); // setTimeout(function() {//TODO bug // editor.execCommand('source'); // setTimeout(function() { // editor.execCommand('source'); // ua.checkSameHtml(tds[1].innerHTML,'
asd

','切回源码无影响'); // start(); // },20); // },20); start(); }, 50); }); test('test-beforeInsertHTML', function(){ var editor = te.obj[0]; var range = te.obj[1]; editor.setContent('

'); //闭合 range.setStart(editor.body.firstChild,0).collapse(true).select(); var insert = 'text'; editor.execCommand('inserthtml', insert); if(ua.browser.ie==9||ua.browser.ie==10) ua.checkSameHtml(editor.body.innerHTML, '
'+insert+'
', '插入IE'); else ua.checkSameHtml(editor.body.innerHTML, '
'+insert+'
', '插入chrome/ff/ie11+'); ua.manualDeleteFillData(editor.body); //插入非br element range.setStart(editor.body.firstChild.firstChild,0).collapse(true).select(); insert='

I

'; editor.execCommand('inserthtml', insert); if(ua.browser.ie==9||ua.browser.ie==10) ua.checkSameHtml(editor.body.innerHTML, '
Itext
', '插入IE'); else ua.checkSameHtml(editor.body.innerHTML, '
Itext
', '插入chrome/ff/ie11+'); ua.manualDeleteFillData(editor.body); //插入br element range.setStart(editor.body.firstChild.firstChild,1).collapse(true).select(); insert='
br'; editor.execCommand('inserthtml', insert); if(ua.browser.ie==9||ua.browser.ie==10){ ua.checkSameHtml(editor.body.innerHTML, '
\nbrItext
', '插入IE'); } else if(ua.browser.ie>10){ ua.checkSameHtml(editor.body.innerHTML, '
I\nbrtext
', '插入IE11+'); } else{ ua.checkSameHtml(editor.body.innerHTML, '
I​
brtext
', '插入chrome/ff');} ua.manualDeleteFillData(editor.body); //混合标签 range.setStart(editor.body.firstChild,0).collapse(true).select(); insert='

PPP

222

SSS
BBB

'; editor.execCommand('inserthtml', insert); if(ua.browser.ie==9||ua.browser.ie==10){ // if(ua.browser.ie<11){ ua.checkSameHtml(editor.body.innerHTML, '
PPP222SSS\nBBB\nbrItext
', '插入IE'); // }else{ // ua.checkSameHtml(editor.body.innerHTML, '
PPP222SSS\nBBBI\nbrtext
', '插入IE'); // } } else if(ua.browser.ie>10){ ua.checkSameHtml(editor.body.innerHTML, '
PPP222SSS\nBBBI\nbrtext
', '插入IE11+'); } else{ ua.checkSameHtml(editor.body.innerHTML, '
PPP222SSS
BBBI
brtext
', '插入chrome/ff/ie11+'); } ua.manualDeleteFillData(editor.body); //非闭合 //插入非element range.setStart(editor.body.firstChild, 0).setEnd(editor.body.firstChild, 4).select(); insert = 'replace'; editor.execCommand('inserthtml', insert); if(ua.browser.ie==9||ua.browser.ie==10) ua.checkSameHtml(editor.body.innerHTML, '
replace
', '插入IE'); else if(ua.browser.ie>10){ ua.checkSameHtml(editor.body.innerHTML, '
replace
', '插入IE11+'); } else ua.checkSameHtml(editor.body.innerHTML, '
replaceBBBI
brtext
', '插入chrome/ff/ie11+'); ua.manualDeleteFillData(editor.body); //插入element range.setStart(editor.body.firstChild, 0).setEnd(editor.body.firstChild, 0).select(); insert = '

PPP

'; editor.execCommand('inserthtml', insert); if(ua.browser.ie==9||ua.browser.ie==10) ua.checkSameHtml(editor.body.innerHTML, '
PPPreplace
', '插入IE'); else if(ua.browser.ie>10){ ua.checkSameHtml(editor.body.innerHTML, '
PPPreplace
', '插入IE11+'); } else ua.checkSameHtml(editor.body.innerHTML, '
PPPreplaceBBBI
brtext
', '插入chrome/ff/ie11+'); ua.manualDeleteFillData(editor.body); }); test('关于pre中的tabKey',function(){ var editor = te.obj[0]; var range = te.obj[1]; editor.setContent('
function a(){var a = true;}
'); var text = editor.body.firstChild.firstChild; range.setStart(text,13).setEnd(text,16).select(); ua.keydown(editor.body,{'shiftKey':false,'keyCode':9}); ua.keyup(editor.body,{'shiftKey':false,'keyCode':9}); if(ua.browser.ie==8||ua.browser.ie==9){ equal(editor.getContent(),'
    function a(){var a = true;}
'); }else if(ua.browser.ie>9){ equal(editor.getContent(),'
    function a(){var a = true;}
','验证pre下tabKey1'); }else{ equal(editor.getContent(),'
    function a(){var a = true;}
','验证pre下tabKey1'); } editor.setContent('

function a(){var a = true;}
'); var text = editor.body.firstChild.firstChild; range.setStart(text,13).setEnd(text,16).select(); ua.keydown(editor.body,{'shiftKey':false,'keyCode':9}); ua.keyup(editor.body,{'shiftKey':false,'keyCode':9}); if(ua.browser.ie==8||ua.browser.ie==9){ var x = '\n'; if(ua.browser.ie==9){ x = ''; } equal(editor.getContent(),'
    '+x+'function a(){var a = true;}
','验证pre下tabKey2'); }else if(ua.browser.ie>9){ var x2 = ''; var x3 = '    '; if(ua.browser.ie==11){ x2 = '    '; x3='\n'; } equal(editor.getContent(),'
'+x3+'function a(){var a = true;}
'+x2,'验证pre下tabKey2'); }else{ equal(editor.getContent(),'
\n        function a(){var a = true;}
','验证pre下tabKey2'); } editor.setContent('
function a(){
var a = true;}
'); var text = editor.body.firstChild.firstChild; range.setStart(text,13).setEnd(text,16).select(); ua.keydown(editor.body,{'shiftKey':false,'keyCode':9}); ua.keyup(editor.body,{'shiftKey':false,'keyCode':9}); if(ua.browser.ie==8){ equal(editor.getContent(),'
function a(){    \nvar a = true;}
','验证pre下tabKey3'); }else if(ua.browser.ie>8){ var xx = '    '; var xx2 = ''; if(ua.browser.ie==11){ xx = ''; xx2 = '    '; } equal(editor.getContent(),'
'+xx+'function a(){'+xx2+'\nvar a = true;}
','验证pre下tabKey3'); }else{ equal(editor.getContent(),'
function a(){    \nvar a = true;}
','验证pre下tabKey3'); } });