Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_14980201
ueditor
提交
5c62bfb0
U
ueditor
项目概览
qq_14980201
/
ueditor
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
ueditor
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5c62bfb0
编写于
3月 13, 2013
作者:
L
luqiong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[test]整理原serialize用例
上级
fd903d87
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
249 addition
and
10 deletion
+249
-10
_test/core/filternode.js
_test/core/filternode.js
+32
-1
_test/core/htmlparser.js
_test/core/htmlparser.js
+180
-6
_test/core/node.js
_test/core/node.js
+37
-3
未找到文件。
_test/core/filternode.js
浏览文件 @
5c62bfb0
...
...
@@ -144,4 +144,35 @@ test( '特殊规则过滤', function() {
'
p
'
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><p></p></div>
'
,
'
innerHTML中包含注释
'
);
});
\ No newline at end of file
});
test
(
'
只有white list--滤除属性
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf</p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<table></table>hellotable<!--hello--><p><div class="div_class" id="div_id" name="div_name">hellodiv<span style="color:red;font-size:12px" ><p>hellospan</span><!--hello--></p></div></p><span style="color:red;font-size:12px" >hellospan</span>
'
);
UE
.
filterNode
(
node
,{
div
:{
$
:{
id
:{},
'
class
'
:{}
}
},
table
:{},
span
:{}
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa"><table></table>hellotable<!--hello--><div id="div_id" class="div_class">hellodivhellospan<!--hello--></div><span style="color:red;font-size:12px" >hellospan</span></div>
'
,
'
滤除属性
'
);
}
);
test
(
'
只有black list
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
<div id="aa"><p>sdf</p><i>sdf</i></div>
'
);
node
.
innerHTML
(
'
<style type="text/css"></style><script type="text/javascript"></script><!--comment--><div><script type="text/javascript"></script><span>hello1</span>hello2</div>
'
);
UE
.
filterNode
(
node
,{
span
:
'
-
'
,
em
:
'
-
'
,
'
#comment
'
:
'
-
'
,
script
:
'
-
'
,
style
:
'
-
'
});
equals
(
node
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div id="aa">hello2</div>
'
,
'
过滤规则中包含html中不存在的标签
'
);
}
);
\ No newline at end of file
_test/core/htmlparser.js
浏览文件 @
5c62bfb0
...
...
@@ -29,29 +29,203 @@ test( '补全不完整table', function() {
equals
(
root
.
toHtml
(),
'
<p><table><tbody><tr><td>sdfsdfsdf</td></tr></tbody></table></p>
'
,
'
td不完整,补全table
'
);
root
=
UE
.
htmlparser
(
'
<td></td>
'
+
'
\n\r
'
+
'
<td></td>
'
);
equals
(
root
.
toHtml
(),
'
<table><tbody><tr><td></td><td></td></tr></tbody></table>
'
,
'
包含
\n
,补全table
'
);
});
root
=
UE
.
htmlparser
(
'
<table>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tr><td></td></tr></table>
'
,
'
<table>--补孩子
'
);
/*补parent*/
root
=
UE
.
htmlparser
(
'
<td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
<td>--补父亲
'
);
/*补parent和child*/
root
=
UE
.
htmlparser
(
'
<tr>hello
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td>hello</td></tr></tbody></table>
'
,
'
<tr>hello--孩子父亲都补
'
);
root
=
UE
.
htmlparser
(
'
<td>123
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td>123</td></tr></tbody></table>
'
,
'
<td>123
'
);
root
=
UE
.
htmlparser
(
'
123<td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
123<td>
'
);
root
=
UE
.
htmlparser
(
'
<tr><td>123
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td>123</td></tr></tbody></table>
'
,
'
<tr><td>123
'
);
root
=
UE
.
htmlparser
(
'
<td>123<tr>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td>123</td></tr><tr><td></td></tr></tbody></table>
'
,
'
<td>123<tr>
'
);
/*补充为2个td*/
root
=
UE
.
htmlparser
(
'
<tr>123<td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td>123</td><td></td></tr></tbody></table>
'
,
'
<tr>123<td>--tr和td之间有文字
'
);
root
=
UE
.
htmlparser
(
'
<td><td>123
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td><td>123</td></tr></tbody></table>
'
,
'
<td><td>123
'
);
root
=
UE
.
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
=
UE
.
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
'
);
/*开标签、文本与闭标签混合*/
root
=
UE
.
htmlparser
(
'
<tr>123</td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td>123</td></tr></tbody></table>
'
,
'
<tr>123</td>--tr和td之间有文字
'
);
root
=
UE
.
htmlparser
(
'
<tr></td>123
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>123
'
,
'
<tr></td>123--td闭标签后面有文字
'
);
root
=
UE
.
htmlparser
(
'
123</tr><td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
123<table><tbody><tr><td></td></tr><tr><td></td></tr></tbody></table>
'
,
'
123</tr><td>
'
);
root
=
UE
.
htmlparser
(
'
</tr><td>123
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr><tr><td>123</td></tr></tbody></table>
'
,
'
</tr><td>123
'
);
root
=
UE
.
htmlparser
(
'
</tr>123<td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
</tr>123<td>
'
);
/*闭标签、文本与闭标签混合*/
root
=
UE
.
htmlparser
(
'
</td>123</tr>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
</td>123</tr>
'
);
root
=
UE
.
htmlparser
(
'
</tr>123</td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
</td>123</tr>
'
);
root
=
UE
.
htmlparser
(
'
</tr>123<tr>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
</td>123</tr>
'
,
'
</tr>123<tr>
'
);
/*补前面的标签*/
root
=
UE
.
htmlparser
(
'
</td>123
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
<table><tbody><tr><td></td></tr></tbody></table>123
'
,
'
</td>123--补全td前面的标签
'
);
root
=
UE
.
htmlparser
(
'
123</td>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
123</td>--补全td前面的标签,有文本
'
);
/*补全tr前面的标签*/
root
=
UE
.
htmlparser
(
'
123</tr>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
123<table><tbody><tr><td></td></tr></tbody></table>
'
,
'
123</tr>--补全tr前后的标签,前面有文本
'
);
/*补全table前面的标签*/
root
=
UE
.
htmlparser
(
'
123</table>
'
);
equals
(
root
.
toHtml
().
toLowerCase
(),
'
123<table><tr><td></td></tr></table>
'
,
'
123</table>--补全trable前后的标签,前面有文本
'
);
/*复杂结构*/
root
=
UE
.
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
=
UE
.
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
=
UE
.
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
=
UE
.
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
=
UE
.
htmlparser
(
'
<ol><li><em><u>sdf<li>sdfsdf</ol>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ol><li><em><u>sdf</u></em></li><li>sdfsdf</li></ol>
'
,
'
补全u,em
'
);
root
=
UE
.
htmlparser
(
'
<ol><li><em>sdf</em></li><ul><li>a</li><li>b</li><li>c</ul><li>jkl</ol>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ol><li><em>sdf</em></li><ul><li>a</li><li>b</li><li>c</li></ul><li>jkl</li></ol>
'
,
'
补全li
'
);
root
=
UE
.
htmlparser
(
'
<li>123
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ul><li>123</li></ul>
'
,
'
<li>123--补全li的parent--ul,前面有文本
'
);
/*补ul的child*/
root
=
UE
.
htmlparser
(
'
<ul>123
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ul><li>123</li></ul>
'
,
'
<ul>123--补全ul的child--li,前面有文本
'
);
/*补li开始标签*/
root
=
UE
.
htmlparser
(
'
</li>123
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ul><li></li></ul>123
'
,
'
</li>123--补全li开始标签,前面有文本
'
);
});
test
(
'
属性引号问题
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<img width=200 height=200 />
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
var
root
=
UE
.
htmlparser
(
"
<img width='200' height='200' />
"
);
root
=
UE
.
htmlparser
(
"
<img width='200' height='200' />
"
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
var
root
=
UE
.
htmlparser
(
'
<img width="200" height="200" />
'
);
root
=
UE
.
htmlparser
(
'
<img width="200" height="200" />
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
});
test
(
'
大小写
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<p><TD></TD></p>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p>
'
);
var
root
=
UE
.
htmlparser
(
'
<OL><LI><em><u>sdf<LI>sdfsdf</OL>
'
);
root
=
UE
.
htmlparser
(
'
<OL><LI><em><u>sdf<LI>sdfsdf</OL>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<ol><li><em><u>sdf</u></em></li><li>sdfsdf</li></ol>
'
,
'
补全u,em
'
);
var
root
=
UE
.
htmlparser
(
'
<IMG width=200 height=200 />
'
);
root
=
UE
.
htmlparser
(
'
<IMG width=200 height=200 />
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<img width="200" height="200" />
'
);
});
\ No newline at end of file
});
test
(
'
裸字
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
sdfasdfasdf
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
sdfasdfasdf
'
);
});
test
(
'
只有结束标签的情况
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<p>hello1</a></p><p>hello2</p>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p>hello1</p><p>hello2</p>
'
);
});
test
(
'
开始标签与后面文本的空格过滤,其他不过滤inline节点之间的空格,过滤block节点之间的空格
'
,
function
()
{
/*inline节点之间的空格要留着*/
var
root
=
UE
.
htmlparser
(
'
<a href="www.baidu.com">baidu</a> <a> hello </a>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<a href="www.baidu.com">baidu</a> <a> hello </a>
'
);
root
=
UE
.
htmlparser
(
'
<span> <span> hello </span></span> <span> he llo2<span> hello </span> </span>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<span> <span> hello </span></span> <span> he llo2<span> hello </span> </span>
'
);
/*block节点之间的空格不要留着 这个太纠结,不必了。会把ol拆开,后面的变成ul*/
// html = '<ol> <li> li_test </li> <li> li test2 </li> </ol> ';
// node = serialize.parseHTML( html );
// node = serialize.filter( node );
// equal( serialize.toHTML( node ), '<ol><li>li_test </li><li>li test2 </li></ol> ' );
}
);
/*特殊字符需要转义*/
test
(
'
文本包含特殊字符,如尖括号
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<span><td hello</span>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<span><td hello</span>
'
,
'
字符转义
'
);
}
);
test
(
'
转换script标签
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<script type="text/javascript">ueditor</script>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div type="text/javascript"></div>
'
,
'
转换script标签
'
);
}
);
test
(
'
转换style标签
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<style type="text/css"></style>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<div type="text/css"></div>
'
,
'
转换script标签
'
);
}
);
test
(
'
br
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<br />
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<br/>
'
,
'
对br不操作
'
);
root
=
UE
.
htmlparser
(
'
<br>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<br/>
'
,
'
补充br后面的斜杠
'
);
}
);
/*考察标签之间嵌套关系*/
test
(
'
复杂标签嵌套
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<span>hello1<p><img>hello2<div>hello3<p>hello4
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<span>hello1</span><p><img/>hello2</p><div>hello3<p>hello4</p></div>
'
);
}
);
test
(
'
bi转换为strong,em
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<b><i>hello</i>hello</b>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<strong><em>hello</em>hello</strong>
'
,
'
转化b和i
'
);
}
);
test
(
'
转换font标签
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<font size="3" color="red"><b><i>x</i></b></font>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<span style="font-size:16px;color:red;"><strong><em>x</em></strong></span>
'
,
'
转换font标签
'
);
}
);
test
(
'
font转span
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<font size="20" color="red" lang="en" face="arial"><b><i>hello</i>hello</b>
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<span style="font-size:12px;color:red;font-family:arial;"><strong><em>hello</em>hello</strong></span>
'
,
'
转换font标签
'
);
/*size的值在sizeMap中有对应的值*/
root
=
UE
.
htmlparser
(
'
<b><font size="1" color="#ff0000" lang="en" face="楷体">hello
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<strong><span style="font-size:10px;color:#ff0000;font-family:楷体;">hello</span></strong>
'
,
'
转换font标签
'
);
}
);
test
(
'
trace 1727:过滤超链接后面的空格
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<a href="www.baidu.com">baidu</a> ddd
'
);
equals
(
root
.
toHtml
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<a href="www.baidu.com">baidu</a> ddd
'
,
'
过滤超链接后面的空格
'
);
}
);
test
(
'
转换img标签
'
,
function
()
{
var
root
=
UE
.
htmlparser
(
'
<img src="file:///C:/DOCUME~1/DONGYA~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg" width="553" height="275" />
'
);
equals
(
root
.
toHtml
().
replace
(
new
RegExp
(
'
[
\r
'
+
domUtils
.
fillChar
+
'
]*
'
,
'
g
'
),
''
),
''
);
// '<img src="'+editor.options.UEDITOR_HOME_URL+'themes/default/images/spacer.gif" width="553" height="275" word_img="file:///C:/DOCUME~1/DONGYA~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg" style="background:url('+editor.options.UEDITOR_HOME_URL+'lang/'+editor.options.lang+'/images/localimage.png) no-repeat center center;border:1px solid #ddd"'+spa+' />' , '转换img标签');
// var spa=ua.browser.ie==6?' orgSrc="'+editor.options.UEDITOR_HOME_URL+'themes/default/images/spacer.gif"':'';
}
);
\ No newline at end of file
_test/core/node.js
浏览文件 @
5c62bfb0
...
...
@@ -44,7 +44,7 @@ test( 'innerText', function() {
var
tmp
=
new
UE
.
uNode
.
createElement
(
'
area
'
);
tmp
.
innerHTML
(
'
<p></p>
'
);
equals
(
tmp
.
innerText
(),
tmp
,
'
标签类型特殊
'
);
var
tmp
=
new
UE
.
uNode
.
createText
(
''
);
tmp
=
new
UE
.
uNode
.
createText
(
''
);
tmp
.
innerHTML
(
'
<p></p>
'
);
equals
(
tmp
.
innerText
(),
tmp
,
'
对象类型不为element
'
);
var
uNode
=
UE
.
uNode
;
...
...
@@ -56,7 +56,7 @@ test( 'innerText', function() {
test
(
'
getData
'
,
function
()
{
var
tmp
=
new
UE
.
uNode
.
createElement
(
'
div
'
);
equals
(
tmp
.
getData
(),
''
,
'
element元素
'
);
var
tmp
=
new
UE
.
uNode
.
createText
(
'
askdj
'
);
tmp
=
new
UE
.
uNode
.
createText
(
'
askdj
'
);
equals
(
tmp
.
getData
(),
"
askdj
"
,
'
其他类型
'
);
});
...
...
@@ -91,7 +91,7 @@ test( 'replaceChild && setAttr', function() {
node
.
insertAfter
(
tmp
,
node
.
lastChild
());
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p><div></div><p></p>
'
,
'
setAttr为空
'
);
node
.
innerHTML
(
'
<p><td></td></p>
'
);
var
tmp
=
uNode
.
createElement
(
'
div
'
);
tmp
=
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
node
.
replaceChild
(
node
.
firstChild
(),
tmp
);
equals
(
node
.
innerHTML
().
replace
(
/
[
]
+>/g
,
'
>
'
),
'
<p><table><tbody><tr><td></td></tr></tbody></table></p>
'
,
'
replaceChild
'
);
...
...
@@ -159,4 +159,38 @@ test( 'getIndex', function() {
var
tmp
=
new
UE
.
uNode
.
createElement
(
'
div
'
);
node
.
appendChild
(
tmp
);
equals
(
tmp
.
getIndex
(),
2
,
'
节点索引
'
);
});
test
(
'
traversal
'
,
function
()
{
var
uNode
=
UE
.
uNode
;
var
node
=
uNode
.
createElement
(
'
div
'
);
node
.
innerHTML
(
'
<div>asdfasdf<b>sdf</b></div>
'
)
var
count
=
0
;
node
.
traversal
(
function
(
node
){
count
++
;
});
equals
(
count
,
4
);
count
=
0
;
node
.
traversal
(
function
(
node
){
if
(
node
.
type
==
'
text
'
){
count
++
}
});
equals
(
count
,
2
);
node
.
traversal
(
function
(
node
){
if
(
node
.
type
==
'
text
'
){
node
.
parentNode
.
removeChild
(
node
)
}
});
equals
(
node
.
toHtml
(),
'
<div><div><b></b></div></div>
'
);
node
.
innerHTML
(
'
<div>asdfasdf<b>sdf</b></div>
'
);
node
.
traversal
(
function
(
node
){
if
(
node
.
type
==
'
text
'
){
var
span
=
uNode
.
createElement
(
'
span
'
);
node
.
parentNode
.
insertBefore
(
span
,
node
);
span
.
appendChild
(
node
);
}
});
equals
(
node
.
toHtml
(),
'
<div><div><span>asdfasdf</span><b><span>sdf</span></b></div></div>
'
);
});
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录