1 | | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2 | | <html xmlns="http://www.w3.org/1999/xhtml"> |
3 | | <head> |
4 | | <title>CKEDITOR.dom.documentFragment</title> |
5 | | <link rel="stylesheet" type="text/css" href="../../test.css" /> |
6 | | <script type="text/javascript" src="../../../../ckeditor_source.js"></script> <!-- %REMOVE_LINE% |
7 | | <script type="text/javascript" src="../../../ckeditor.js"></script> |
8 | | %REMOVE_LINE% --> |
9 | | <script type="text/javascript" src="../../test.js"></script> |
10 | | <script type="text/javascript"> |
11 | | //<![CDATA[ |
12 | | CKEDITOR.test.addTestCase( ( function() |
13 | | { |
14 | | // Local reference to the "assert" object. |
15 | | var assert = YAHOO.util.Assert; |
16 | | |
17 | | return { |
18 | | |
19 | | test_appendTo : function() |
20 | | { |
21 | | var frag = |
22 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
23 | | var inner = |
24 | | new CKEDITOR.dom.element( 'b' ); |
25 | | frag.append( inner ); |
26 | | var container = CKEDITOR.document.getById( 'fragmentContainer1' ); |
27 | | frag.appendTo( container ); |
28 | | assert.isTrue( container.getLast().equals( inner ) ); |
29 | | }, |
30 | | |
31 | | test_append : function() |
32 | | { |
33 | | var frag = |
34 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
35 | | var inner = |
36 | | new CKEDITOR.dom.element( 'b' ); |
37 | | frag.append( inner ); |
38 | | var container = CKEDITOR.document.getById( 'fragmentContainer3' ); |
39 | | container.append( frag ); |
40 | | assert.isTrue( container.getLast().equals( inner ) ); |
41 | | }, |
42 | | |
43 | | test_getFirst : function() |
44 | | { |
45 | | var frag = |
46 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
47 | | var inner = |
48 | | new CKEDITOR.dom.element( 'b' ); |
49 | | frag.append( inner ); |
50 | | var first = frag.getFirst(); |
51 | | assert.isTrue( first.equals( inner ) ); |
52 | | }, |
53 | | |
54 | | test_getLast : function() |
55 | | { |
56 | | var frag = |
57 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
58 | | var inner = |
59 | | new CKEDITOR.dom.element( 'b' ), lastInner = inner.clone(); |
60 | | frag.append( inner ); |
61 | | frag.append( lastInner ); |
62 | | var last = frag.getLast(); |
63 | | assert.isTrue( last.equals( lastInner ) ); |
64 | | }, |
65 | | |
66 | | test_moveChildren : function() |
67 | | { |
68 | | var frag = |
69 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
70 | | var inner1 = new CKEDITOR.dom.element( 'b' ), |
71 | | inner2 = new CKEDITOR.dom.element( 'i' ); |
72 | | frag.append( inner1 ); |
73 | | frag.append( inner2 ); |
74 | | |
75 | | // Move to element |
76 | | var element = new CKEDITOR.dom.element( 'span' ); |
77 | | frag.moveChildren( element, true ); |
78 | | assert.isTrue( element.getFirst().equals( inner1 ) ); |
79 | | assert.isTrue( element.getLast().equals( inner2 ) ); |
80 | | }, |
81 | | |
82 | | test_moveChildren2 : function() |
83 | | { |
84 | | var frag = |
85 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
86 | | var inner1 = new CKEDITOR.dom.element( 'b' ), |
87 | | inner2 = new CKEDITOR.dom.element( 'i' ); |
88 | | frag.append( inner1 ); |
89 | | frag.append( inner2 ); |
90 | | |
91 | | // Move to fragment |
92 | | var anotherFrag = new CKEDITOR.dom.documentFragment( |
93 | | CKEDITOR.document ); |
94 | | frag.moveChildren( anotherFrag, true ); |
95 | | assert.isTrue( anotherFrag.getFirst().equals( inner1 ) ); |
96 | | assert.isTrue( anotherFrag.getLast().equals( inner2 ) ); |
97 | | }, |
98 | | |
99 | | test_appendText : function() |
100 | | { |
101 | | var element = new CKEDITOR.dom.element( 'script' ); |
102 | | element.appendText( 'Test appendText' ); |
103 | | assert.areEqual( 'Test appendText', element.$.text ); |
104 | | }, |
105 | | |
106 | | test_ltrim : function() |
107 | | { |
108 | | var element = CKEDITOR.document.getById( 'trimTarget' ) |
109 | | .clone( true ); |
110 | | var frag = |
111 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
112 | | element.moveChildren( frag ); |
113 | | frag.ltrim(); |
114 | | var ct = new CKEDITOR.dom.element( 'div' ); |
115 | | ct.append( frag ); |
116 | | assert.areSame( 'text \t\n', ct.getText() ); |
117 | | }, |
118 | | |
119 | | test_rtrim : function() |
120 | | { |
121 | | var element = CKEDITOR.document.getById( 'trimTarget' ) |
122 | | .clone( true ); |
123 | | var frag = |
124 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
125 | | element.moveChildren( frag ); |
126 | | frag.rtrim(); |
127 | | var ct = new CKEDITOR.dom.element( 'div' ); |
128 | | ct.append( frag ); |
129 | | assert.areSame( ' \t\ntext', ct.getText() ); |
130 | | }, |
131 | | |
132 | | test_trim : function() |
133 | | { |
134 | | var element = |
135 | | CKEDITOR.document.getById( 'trimTarget' ).clone( true ); |
136 | | var frag = |
137 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
138 | | element.moveChildren( frag ); |
139 | | frag.trim(); |
140 | | var ct = new CKEDITOR.dom.element( 'div' ); |
141 | | ct.append( frag ); |
142 | | assert.areSame( 'text', ct.getText() ); |
143 | | }, |
144 | | |
145 | | test_insertAfter : function() |
146 | | { |
147 | | var frag = |
148 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
149 | | var inner = new CKEDITOR.dom.element( 'b' ); |
150 | | frag.append( inner ); |
151 | | var container = CKEDITOR.document.getById( 'fragmentContainer2' ); |
152 | | var sibling = CKEDITOR.document.getById( 'fragmentSibling1' ); |
153 | | frag.insertAfterNode( sibling ); |
154 | | assert.isTrue( container.getLast().equals( inner ) ); |
155 | | }, |
156 | | |
157 | | test_getChildCount : function() |
158 | | { |
159 | | var frag = |
160 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
161 | | var inner1 = new CKEDITOR.dom.element( 'b' ), |
162 | | inner2 = new CKEDITOR.dom.element( 'i' ); |
163 | | frag.append( inner1 ); |
164 | | frag.append( inner2 ); |
165 | | |
166 | | assert.areEqual( 2, frag.getChildCount() ); |
167 | | }, |
168 | | |
169 | | test_getChild : function() |
170 | | { |
171 | | var frag = |
172 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
173 | | var inner1 = new CKEDITOR.dom.element( 'b' ), |
174 | | inner2 = new CKEDITOR.dom.element( 'i' ); |
175 | | frag.append( inner1 ); |
176 | | frag.append( inner2 ); |
177 | | |
178 | | assert.isTrue( inner2.equals( frag.getChild( 1 ) ) ); |
179 | | }, |
180 | | |
181 | | test_getChildren : function() |
182 | | { |
183 | | var frag = |
184 | | new CKEDITOR.dom.documentFragment( CKEDITOR.document ); |
185 | | var inner1 = new CKEDITOR.dom.element( 'b' ), |
186 | | inner2 = new CKEDITOR.dom.element( 'i' ); |
187 | | frag.append( inner1 ); |
188 | | frag.append( inner2 ); |
189 | | |
190 | | var childNodesList = frag.getChildren(); |
191 | | assert.areEqual( 2, childNodesList.count() ); |
192 | | assert.isTrue( inner2.equals( childNodesList.getItem( 1 ) ) ); |
193 | | }, |
194 | | |
195 | | test_getDocument : function() |
196 | | { |
197 | | var doc = CKEDITOR.document, |
198 | | innerDoc = new CKEDITOR.dom.document( |
199 | | doc.getById( 'innerFrame' ).$.contentWindow.document ); |
200 | | var frag1 = new CKEDITOR.dom.documentFragment( doc ), |
201 | | frag2 = new CKEDITOR.dom.documentFragment( innerDoc ); |
202 | | |
203 | | assert.isTrue( doc.equals( frag1.getDocument() ) ); |
204 | | assert.isTrue( innerDoc.equals( frag2.getDocument() ) ); |
205 | | }, |
206 | | |
207 | | name :document.title |
208 | | }; |
209 | | } )() ); |
210 | | |
211 | | //]]> |
212 | | </script> |
213 | | </head> |
214 | | <body> |
215 | | <div id="fragmentContainer1"></div> |
216 | | <div id="fragmentContainer2"><div id="fragmentSibling1"></div></div> |
217 | | <div id="fragmentContainer3"></div> |
218 | | <div id="trimTarget"> |
219 | | text |
220 | | </div> |
221 | | <iframe id="innerFrame" name="innerFrame" src="about:blank"></iframe> |
222 | | </body> |
223 | | </html> |
224 | | No newline at end of file |