JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.0
[ckeditor.git] / _tests / core / tools.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.tools</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 var testcase;\r
11 CKEDITOR.test.addTestCase( testcase = (function()\r
12 {\r
13         // Local reference to the "assert" object.\r
14         var assert = CKEDITOR.test.assert;\r
15 \r
16         return {\r
17                 test_extend : function()\r
18                 {\r
19                         var fakeFn = function() {};\r
20                         var fakeObj = { fake1 : 1, fake2 : 2 };\r
21                         var fakeArray = [ 'Test', 10, fakeFn, fakeObj ];\r
22 \r
23                         var target =\r
24                         {\r
25                                 prop1 : 'Test',\r
26                                 prop2 : 10,\r
27                                 prop3 : fakeFn,\r
28                                 prop4 : fakeObj,\r
29                                 prop5 : fakeArray\r
30                         };\r
31 \r
32                         CKEDITOR.tools.extend( target,\r
33                                 {\r
34                                         prop3 : 'Wrong',\r
35                                         prop6 : 'Good',\r
36                                         prop7 : fakeArray\r
37                                 } );\r
38 \r
39                         assert.areSame( 'Test'          , target.prop1, 'prop1 doesn\'t match' );\r
40                         assert.areSame( 10                      , target.prop2, 'prop2 doesn\'t match' );\r
41                         assert.areSame( fakeFn          , target.prop3, 'prop3 doesn\'t match' );\r
42                         assert.areSame( fakeObj         , target.prop4, 'prop4 doesn\'t match' );\r
43                         assert.areSame( fakeArray       , target.prop5, 'prop5 doesn\'t match' );\r
44                         assert.areSame( 'Good'          , target.prop6, 'prop6 doesn\'t match' );\r
45                         assert.areSame( fakeArray       , target.prop7, 'prop7 doesn\'t match' );\r
46                 },\r
47 \r
48                 test_isArray1 : function()\r
49                 {\r
50                         assert.isTrue( CKEDITOR.tools.isArray( [] ) );\r
51                 },\r
52 \r
53                 test_isArray2 : function()\r
54                 {\r
55                         assert.isFalse( CKEDITOR.tools.isArray( { length:1 } ) );\r
56                 },\r
57 \r
58                 test_isArray3 : function()\r
59                 {\r
60                         assert.isFalse( CKEDITOR.tools.isArray( null ) );\r
61                 },\r
62 \r
63                 test_isArray4 : function()\r
64                 {\r
65                         assert.isFalse( CKEDITOR.tools.isArray( window.x ) );\r
66                 },\r
67 \r
68                 test_htmlEncode1 : function()\r
69                 {\r
70                         assert.areSame( '&lt;b&gt;Test&lt;/b&gt;', CKEDITOR.tools.htmlEncode( '<b>Test</b>' ) );\r
71                 },\r
72 \r
73                 test_htmlEncode2 : function()\r
74                 {\r
75                         assert.areSame( 'Test\'s &amp; "quote"', CKEDITOR.tools.htmlEncode( 'Test\'s & "quote"' ) );\r
76                 },\r
77 \r
78                 test_htmlEncode_3874 : function()\r
79                 {\r
80                         assert.areSame( 'line1\nline2', CKEDITOR.tools.htmlEncode( 'line1\nline2' ) );\r
81                 },\r
82 \r
83                 test_cssStyleToDomStyle1 : function()\r
84                 {\r
85                         assert.areSame( 'backgroundColor', CKEDITOR.tools.cssStyleToDomStyle( 'background-color' ) );\r
86                 },\r
87 \r
88                 test_cssStyleToDomStyle2 : function()\r
89                 {\r
90                         assert.areSame( 'cssFloat', CKEDITOR.tools.cssStyleToDomStyle( 'float' ) );\r
91                 },\r
92 \r
93                 test_getNextNumber : function()\r
94                 {\r
95                         var number = CKEDITOR.tools.getNextNumber();\r
96                         assert.areSame( number +  1, CKEDITOR.tools.getNextNumber() );\r
97                         assert.areSame( number +  2, CKEDITOR.tools.getNextNumber() );\r
98                         assert.areSame( number +  3, CKEDITOR.tools.getNextNumber() );\r
99                 },\r
100 \r
101                 test_trim1 : function()\r
102                 {\r
103                         assert.areSame( 'test', CKEDITOR.tools.trim( '    test   ' ) );\r
104                 },\r
105 \r
106                 test_trim2 : function()\r
107                 {\r
108                         assert.areSame( 'test', CKEDITOR.tools.trim( ' \n \t  test\n  \t ' ) );\r
109                 },\r
110 \r
111                 test_ltrim1 : function()\r
112                 {\r
113                         assert.areSame( 'test   ', CKEDITOR.tools.ltrim( '    test   ' ) );\r
114                 },\r
115 \r
116                 test_ltrim2 : function()\r
117                 {\r
118                         assert.areSame( 'test\n  \t ', CKEDITOR.tools.ltrim( ' \n \t  test\n  \t ' ) );\r
119                 },\r
120 \r
121                 test_rtrim1 : function()\r
122                 {\r
123                         assert.areSame( '    test', CKEDITOR.tools.rtrim( '    test   ' ) );\r
124                 },\r
125 \r
126                 test_rtrim2 : function()\r
127                 {\r
128                         assert.areSame( ' \n \t  test', CKEDITOR.tools.rtrim( ' \n \t  test\n  \t ' ) );\r
129                 },\r
130 \r
131                 test_clone : function()\r
132                 {\r
133                         var obj =\r
134                         {\r
135                                 name : 'John',\r
136                                 cars :\r
137                                 {\r
138                                         Mercedes : { color : 'blue' },\r
139                                         Porsche : { color : 'red' }\r
140                                 }\r
141                         };\r
142 \r
143                         var clone = CKEDITOR.tools.clone( obj );\r
144 \r
145                         clone.name = 'Paul';\r
146                         clone.cars.Porsche.color = 'silver';\r
147 \r
148                         assert.areSame( 'John', obj.name );\r
149                         assert.areSame( 'Paul', clone.name );\r
150 \r
151                         assert.areSame( 'red', obj.cars.Porsche.color );\r
152                         assert.areSame( 'silver', clone.cars.Porsche.color );\r
153                 },\r
154 \r
155                 test_repeat : function()\r
156                 {\r
157                         assert.areSame( '&nbsp;&nbsp;&nbsp;', CKEDITOR.tools.repeat( '&nbsp;', 3 ) );\r
158                 },\r
159 \r
160                 name : document.title\r
161         };\r
162 })() );\r
163 //window.onload = testcase.test_htmlEncode_3874;\r
164         //]]>\r
165         </script>\r
166 </head>\r
167 <body>\r
168         <iframe></iframe>\r
169 </body>\r
170 </html>\r