Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[test] #100

Merged
merged 1 commit into from
Jun 26, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
176 changes: 88 additions & 88 deletions _test/core/htmlparser.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,98 +29,98 @@ test( '特殊标签处理', function() {
equals(root.toHtml(),'<ul><li>sdfsdfsdf</li><li>sdfsdfsdfsdf</li></ul>','以文本结束的html');
});

//test( '补全不完整table', function() {//TODO 1.2.6
// var root = UM.htmlparser('<p><td></td></p>');
// equals(root.toHtml(),'<p><table><tbody><tr><td></td></tr></tbody></table></p>','td完整,补全table');
// root = UM.htmlparser('<p><td>sdfsdfsdf</p>');
// equals(root.toHtml(),'<p><table><tbody><tr><td>sdfsdfsdf</td></tr></tbody></table></p>','td不完整,补全table');
// root = UM.htmlparser('<td></td>' + '\n\r' + '<td></td>');
// equals(root.toHtml(),'<table><tbody><tr><td></td><td></td></tr></tbody></table>','包含\n,补全table');
// root = UM.htmlparser('<table>');
// equals( root.toHtml().toLowerCase(), '<table></table>', '<table>--不补孩子' );
// /*补parent*/
// root = UM.htmlparser('<td>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td></td></tr></tbody></table>', '<td>--补父亲' );
// /*补parent和child*/
// root = UM.htmlparser('<tr>hello');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr>hello</tr></tbody></table>', '<tr>hello--补父亲不补孩子' );
//
// root = UM.htmlparser('<td>123');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>', '<td>123--文本放在table里' );
//
// root = UM.htmlparser('123<td>');
// equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '123<td>' );
//
// root = UM.htmlparser('<tr><td>123');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>', '<tr><td>123' );
//
// root = UM.htmlparser('<td>123<tr>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr><tr></tr></tbody></table>', '<td>123<tr>' );
//
// /*补充为2个td*/
//// root = UM.htmlparser('<tr>123<td>');
//// equals( root.toHtml().toLowerCase(), '<table><tbody><tr></tr></tbody></table>123<table><tbody><tr><td></td></tr></tbody></table>', '<tr>123<td>--tr和td之间有文字' );//TODO 1.2.6
//
// root = UM.htmlparser('<td><td>123');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td></td><td>123</td></tr></tbody></table>', '<td><td>123' );
//
// root = UM.htmlparser('<td>123<td>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td><td></td></tr></tbody></table>', '<td>123<td>' );
//
// /*补2个table*/
//// root = UM.htmlparser('<td>123</td>132<tr>');
//// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>132<table><tbody><tr><td></td></tr></tbody></table>', '<td>123</td>132<tr>--补全2个table' );//TODO 1.2.6
//
// /*开标签、文本与闭标签混合*/
//// root = UM.htmlparser('<tr>123</td>');
//// equals( root.toHtml().toLowerCase(), '<table><tbody><tr></tr></tbody></table>123', '<tr>123</td>--tr和td之间有文字' );//TODO 1.2.6
//
//// root = UM.htmlparser('<tr></td>123');
//// equals( root.toHtml().toLowerCase(), '<table><tbody><tr></tr></tbody></table>123', '<tr></td>123--td闭标签后面有文字' );//TODO 1.2.6
//
// root = UM.htmlparser('123</tr><td>');
// equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '123</tr><td>' );
//
// root = UM.htmlparser('</tr><td>123');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>', '</tr><td>123' );
//
// root = UM.htmlparser('</tr>123<td>');
// equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '</tr>123<td>' );
// /*闭标签、文本与闭标签混合*/
// root = UM.htmlparser('</td>123</tr>');
// equals( root.toHtml().toLowerCase(), '123', '</td>123</tr>' );
//
// root = UM.htmlparser('</tr>123</td>');
// equals( root.toHtml().toLowerCase(), '123', '</td>123</tr>' );
//
// root = UM.htmlparser('</tr>123<tr>');
// equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '</td>123</tr>', '</tr>123<tr>' );
//
// /*补前面的标签*/
// root = UM.htmlparser('</td>123');
// equals( root.toHtml().toLowerCase(), '123', '</td>123' );
//
// root = UM.htmlparser('123</td>');
// equals( root.toHtml().toLowerCase(), '123', '123</td>' );
// /*补全tr前面的标签*/
// root = UM.htmlparser('123</tr>');
// equals( root.toHtml().toLowerCase(), '123', '123</tr>--删除tr前后的标签,前面有文本' );
// /*补全table前面的标签*/
// root = UM.htmlparser('123</table>');
// equals( root.toHtml().toLowerCase(), '123', '123</table>--删除table前后的标签,前面有文本' );
// /*复杂结构*/
test( '补全不完整table', function() {//TODO 1.2.6
var root = UM.htmlparser('<p><td></td></p>');
equals(root.toHtml(),'<p><table><tbody><tr><td></td></tr></tbody></table></p>','td完整,补全table');
root = UM.htmlparser('<p><td>sdfsdfsdf</p>');
equals(root.toHtml(),'<p><table><tbody><tr><td>sdfsdfsdf</td></tr></tbody></table></p>','td不完整,补全table');
root = UM.htmlparser('<td></td>' + '\n\r' + '<td></td>');
equals(root.toHtml(),'<table><tbody><tr><td></td><td></td></tr></tbody></table>','包含\n,补全table');
root = UM.htmlparser('<table>');
equals( root.toHtml().toLowerCase(), '<table></table>', '<table>--不补孩子' );
/*补parent*/
root = UM.htmlparser('<td>');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td></td></tr></tbody></table>', '<td>--补父亲' );
/*补parent和child*/
root = UM.htmlparser('<tr>hello');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr>hello</tr></tbody></table>', '<tr>hello--补父亲不补孩子' );

root = UM.htmlparser('<td>123');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>', '<td>123--文本放在table里' );

root = UM.htmlparser('123<td>');
equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '123<td>' );

root = UM.htmlparser('<tr><td>123');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>', '<tr><td>123' );

root = UM.htmlparser('<td>123<tr>');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr><tr></tr></tbody></table>', '<td>123<tr>' );

/*补充为2个td*/
// root = UM.htmlparser('<tr>123<td>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr></tr></tbody></table>123<table><tbody><tr><td></td></tr></tbody></table>', '<tr>123<td>--tr和td之间有文字' );//TODO 1.2.6

root = UM.htmlparser('<td><td>123');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td></td><td>123</td></tr></tbody></table>', '<td><td>123' );

root = UM.htmlparser('<td>123<td>');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td><td></td></tr></tbody></table>', '<td>123<td>' );

/*补2个table*/
// root = UM.htmlparser('<td>123</td>132<tr>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>132<table><tbody><tr><td></td></tr></tbody></table>', '<td>123</td>132<tr>--补全2个table' );//TODO 1.2.6

/*开标签、文本与闭标签混合*/
// root = UM.htmlparser('<tr>123</td>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr></tr></tbody></table>123', '<tr>123</td>--tr和td之间有文字' );//TODO 1.2.6

// root = UM.htmlparser('<tr></td>123');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr></tr></tbody></table>123', '<tr></td>123--td闭标签后面有文字' );//TODO 1.2.6

root = UM.htmlparser('123</tr><td>');
equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '123</tr><td>' );

root = UM.htmlparser('</tr><td>123');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td>123</td></tr></tbody></table>', '</tr><td>123' );

root = UM.htmlparser('</tr>123<td>');
equals( root.toHtml().toLowerCase(), '123<table><tbody><tr><td></td></tr></tbody></table>', '</tr>123<td>' );
/*闭标签、文本与闭标签混合*/
root = UM.htmlparser('</td>123</tr>');
equals( root.toHtml().toLowerCase(), '123', '</td>123</tr>' );

root = UM.htmlparser('</tr>123</td>');
equals( root.toHtml().toLowerCase(), '123', '</td>123</tr>' );

root = UM.htmlparser('</tr>123<tr>');
equals( root.toHtml().toLowerCase(), '123<table><tbody><tr></tr></tbody></table>', '</td>123</tr>', '</tr>123<tr>' );

/*补前面的标签*/
root = UM.htmlparser('</td>123');
equals( root.toHtml().toLowerCase(), '123', '</td>123' );

root = UM.htmlparser('123</td>');
equals( root.toHtml().toLowerCase(), '123', '123</td>' );
/*补全tr前面的标签*/
root = UM.htmlparser('123</tr>');
equals( root.toHtml().toLowerCase(), '123', '123</tr>--删除tr前后的标签,前面有文本' );
/*补全table前面的标签*/
root = UM.htmlparser('123</table>');
equals( root.toHtml().toLowerCase(), '123', '123</table>--删除table前后的标签,前面有文本' );
/*复杂结构*/
// root = UM.htmlparser('<table><tr><td>123<tr>456');
// equals( root.toHtml().toLowerCase(), '<table><tr><td>123</td></tr><tr><td>456</td></tr></table>', '<table><tr><td>123<tr>456' );
//
// root = UM.htmlparser('<td><span>hello1</span>hello2</tbody>');
// equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td><span>hello1</span>hello2</td></tr></tbody></table>', '解析<td><span>hello1</span>hello2</tbody>' );
//
// root = UM.htmlparser('<table><td><span>hello1</span>hello2</tbody>');
// equals( root.toHtml().toLowerCase(), '<table><tr><td><span>hello1</span>hello2<table><tbody><tr><td></td></tr></tbody></table></td></tr></table>', '解析<table><td><span>hello1</span>hello2</tbody>' );
//

root = UM.htmlparser('<td><span>hello1</span>hello2</tbody>');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td><span>hello1</span>hello2</td></tr></tbody></table>', '解析<td><span>hello1</span>hello2</tbody>' );

root = UM.htmlparser('<table><td><span>hello1</span>hello2</tbody>');
equals( root.toHtml().toLowerCase(), '<table><tbody><tr><td><span>hello1</span>hello2</td></tr></tbody></table>', '解析<table><td><span>hello1</span>hello2</tbody>' );

// root = UM.htmlparser('<table><tr></td>123');
// equals( root.toHtml().toLowerCase(), '<table><tr><td></td></tr></table>123', '<table><tr></td>123' );
//});
});

test( '补全不完整li', function() {
var root = UM.htmlparser('<ol><li><em><u>sdf<li>sdfsdf</ol>');
Expand Down
37 changes: 23 additions & 14 deletions _test/plugins/basestyle.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,28 @@
module( "plugins.basestyle" );

//test( 'bold-在已加粗文本中间去除加粗', function () {//原生问题不修了
// var editor = te.obj[0];
// var body = editor.body;
// var range = te.obj[1];
// editor.setContent( '<b>hello</b>ssss' );
// range.setStart( body.firstChild.firstChild, 0 ).collapse( true ).select();
// editor.execCommand( 'bold' );
//
// //range = editor.selection.getRange();
// equal( editor.queryCommandState( 'bold' ), 0, "<strong> 被去掉" );
//// range.insertNode( range.document.createTextNode( 'aa' ) ); /*在当前的range选区插入文本节点*/
//// ua.manualDeleteFillData( editor.body );
//// equal( ua.getChildHTML( body.firstChild ), "aa<strong>hello</strong>ssss", "新文本节点没有加粗" );
//} );
test( 'bold-在已加粗文本中间去除加粗', function () {//原生问题不修了
if(ua.browser.ie==11)return;
var editor = te.obj[0];
var body = editor.body;
var range = te.obj[1];
editor.setContent( '<b>hello</b>ssss' );
range.setStart( body.firstChild.firstChild, 0 ).collapse( true ).select();
editor.execCommand( 'bold' );

range = editor.selection.getRange();
equal( editor.queryCommandState( 'bold' ), 0, "<strong> 被去掉" );
range.insertNode( range.document.createTextNode( 'aa' ) ); /*在当前的range选区插入文本节点*/
ua.manualDeleteFillData( editor.body );
var str = 'aa<strong>hello</strong>ssss';
if(ua.browser.ie)
{str = "<strong></strong><span>aa</span><strong>hello</strong>ssss";}
else if(ua.browser.webkit)
{str = '<b></b>aa<b>hello</b>ssss';}
else{
str = 'aa<span></span><b>hello</b>ssss';
}
equal( ua.getChildHTML( body.firstChild ), str, "新文本节点没有加粗" );
} );

test( 'trace:3940:bold-加粗图标状态',function(){
var editor = te.obj[0];
Expand Down
Loading