JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0
[ckeditor.git] / _source / tests / core / dom / text.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
2 <html xmlns="http://www.w3.org/1999/xhtml">\r
3 <head>\r
4         <title>CKEDITOR.dom.text</title>\r
5         <link rel="stylesheet" type="text/css" href="../../test.css" />\r
6         <script type="text/javascript" src="../../../ckeditor.js"></script>\r
7         <script type="text/javascript" src="../../test.js"></script>\r
8         <script type="text/javascript">\r
9         //<![CDATA[\r
10 \r
11 var tc;\r
12 CKEDITOR.test.addTestCase( tc = (function()\r
13 {\r
14         // Local reference to the "assert" object.\r
15         var assert = CKEDITOR.test.assert;\r
16 \r
17         return {\r
18 \r
19                 test_substring1 : function()\r
20                 {\r
21                         var text = new CKEDITOR.dom.text( '0123456789' );\r
22 \r
23                         assert.areSame( '123', text.substring( 1, 4 ) );\r
24                 },\r
25 \r
26                 test_substring2 : function()\r
27                 {\r
28                         var text = new CKEDITOR.dom.text( '0123456789' );\r
29 \r
30                         assert.areSame( '56789', text.substring( 5 ) );\r
31                 },\r
32 \r
33                 test_substring3 : function()\r
34                 {\r
35                         var text = new CKEDITOR.dom.text( '0123456789' );\r
36 \r
37                         assert.areSame( '', text.substring( 1,1 ) );\r
38                 },\r
39 \r
40                 test_substring4 : function()\r
41                 {\r
42                         var text = new CKEDITOR.dom.text( '0123456789' );\r
43 \r
44                         assert.areSame( '012', text.substring( -10,3 ) );\r
45                 },\r
46 \r
47                 test_substring5 : function()\r
48                 {\r
49                         var text = new CKEDITOR.dom.text( '0123456789' );\r
50 \r
51                         assert.areSame( '89', text.substring( 8,100 ) );\r
52                 },\r
53 \r
54                 test_substring6 : function()\r
55                 {\r
56                         var text = new CKEDITOR.dom.text( '0123456789' );\r
57 \r
58                         assert.areSame( '234', text.substring( 5,2 ) );\r
59                 },\r
60 \r
61                 test_split1 : function()\r
62                 {\r
63                         var div = CKEDITOR.document.getById( 'playground' );\r
64                         div.setHtml( '01234' );\r
65 \r
66                         var text = div.getFirst(),\r
67                                 next = text.split( 3 );\r
68 \r
69                         assert.areSame( '012', text.getText(), 'text.getText() is wrong' );\r
70                         assert.areSame( '34', next.getText(), 'next.getText() is wrong' );\r
71 \r
72                         assert.areSame( div.$, next.$.parentNode, 'parentNode is wrong' );\r
73                         assert.areSame( text.$, next.$.previousSibling, 'sibling is wrong' );\r
74                 },\r
75 \r
76                 test_split2 : function()\r
77                 {\r
78                         var div = CKEDITOR.document.getById( 'playground' );\r
79                         div.setHtml( '01234' );\r
80 \r
81                         var text = div.getFirst(),\r
82                                 next = text.split( 5 );\r
83 \r
84                         assert.areSame( '01234', text.getText(), 'text.getText() is wrong' );\r
85                         assert.areSame( '', next.getText(), 'next.getText() is wrong' );\r
86 \r
87                         assert.areSame( div.$, next.$.parentNode, 'parentNode is wrong' );\r
88                         assert.areSame( text.$, next.$.previousSibling, 'sibling is wrong' );\r
89                 },\r
90 \r
91                 test_split3 : function()\r
92                 {\r
93                         var div = CKEDITOR.document.getById( 'playground' );\r
94                         div.setHtml( '01234' );\r
95 \r
96                         var text = div.getFirst(),\r
97                                 next = text.split( 0 );\r
98 \r
99                         assert.areSame( '', text.getText(), 'text.getText() is wrong' );\r
100                         assert.areSame( '01234', next.getText(), 'next.getText() is wrong' );\r
101 \r
102                         assert.areSame( div.$, next.$.parentNode, 'parentNode is wrong' );\r
103                         assert.areSame( text.$, next.$.previousSibling, 'sibling is wrong' );\r
104                 },\r
105 \r
106                 test_split_3436 : function()\r
107                 {\r
108                         var parent = CKEDITOR.document.getById( 'playground2' );\r
109                         parent.setHtml( 'A B <b>C </b>D E' );\r
110                         parent.getFirst().split( 2 );   // Right before "B"\r
111                         parent.getChildren().getItem( 3 ).split( 2 );   // Right before "E"\r
112                         assert.areSame( 5, parent.getChildren().count(), 'Child nodes num doesn\'t match after split' );\r
113                 },\r
114 \r
115                 name : document.title\r
116         };\r
117 })() );\r
118 \r
119 //window.onload = tc.test_split_3436;\r
120 \r
121         //]]>\r
122         </script>\r
123 </head>\r
124 <body>\r
125         <p id="playground"></p>\r
126         <p id="playground2"></p>\r
127 </body>\r
128 </html>\r