JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
ea52a700f500c2f7ed3b2ea2049858fd2bf49cf5
[ckeditor.git] / _source / tests / core / htmlparser / htmlparser.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.htmlParser</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 CKEDITOR.plugins.load( 'htmlwriter' );\r
12 var tc;\r
13 CKEDITOR.test.addTestCase( tc = ( function()\r
14 {\r
15         // Local reference to the "assert" object.\r
16         var assert = YAHOO.util.Assert;\r
17 \r
18         /**\r
19          * Wrapper of the combination of htmlParser with htmlWriter, for convenience of\r
20          * testing, formatting of writer has been disabled.\r
21          */\r
22         function htmlParse( htmlString , writerConfig)\r
23         {\r
24                 var writer = new CKEDITOR.htmlParser.basicWriter();\r
25                 writer.reset();\r
26                 var fragment = CKEDITOR.htmlParser.fragment.fromHtml( htmlString );\r
27                 fragment.writeHtml( writer );\r
28                 return writer.getHtml();\r
29         }\r
30 \r
31         /**\r
32          * IE always returning CRLF for line-feed, so remove it when retrieving\r
33          * pre-formated text from text area.\r
34          */\r
35         function getTextAreaValue( id )\r
36         {\r
37                 return CKEDITOR.document.getById( id ).getValue().replace( /\r/gi, '' );\r
38         }\r
39 \r
40         return {\r
41                 /**\r
42                  * Test <pre> tag formatting.\r
43                  */\r
44                 test_fromHtml_3715 : function()\r
45                 {\r
46                         assert.areSame( getTextAreaValue( 'htmlResult1' ),\r
47                                 htmlParse( getTextAreaValue( 'htmlOriginal1' ) ),\r
48                                 '<pre> parsing result doesn\'t match.' );\r
49                 },\r
50 \r
51                 /**\r
52                  * Test compress empty spaces within text.\r
53                  */\r
54                 test_fromHtml_3715_2 : function()\r
55                 {\r
56                         assert.areSame( getTextAreaValue( 'htmlResult2' ),\r
57                                 htmlParse( getTextAreaValue( 'htmlOriginal2' ) ),\r
58                                 'Spaces compressing result doesn\'t match.' );\r
59                 },\r
60                 name :document.title\r
61         };\r
62 } )() );\r
63 \r
64 //window.onload = tc.test_fromHtml_3715;\r
65         //]]>\r
66         </script>\r
67 </head>\r
68 <body>\r
69 \r
70         <textarea id="htmlOriginal1"><pre>\r
71         text<b>\r
72 inside<br /><br /></b>\r
73 \r
74 pre\r
75 </pre></textarea>\r
76         <textarea id="htmlResult1"><pre>\r
77         text<b>\r
78 inside\r
79 \r
80 </b>\r
81 \r
82 pre\r
83 </pre></textarea>\r
84 \r
85 <textarea id="htmlOriginal2"><p>\r
86         para            graph\r
87 </p><b>compress   spaces</b></textarea>\r
88 \r
89 <textarea id="htmlResult2"><p>para graph</p><b>compress spaces</b></textarea>\r
90 </body>\r
91 </html>\r