Imports changes from Mediacloth revision r122
| 21 | 21 | ||
|---|---|---|---|
| 22 | def test_medialize | def test_medialize | 22 |
| 23 | str = "= Motiro =\n\nAnother paragraph" | str = "= Motiro =\n\nAnother paragraph" | 23 |
| 24 | assert_equal "<h1><a name='Motiro'></a> Motiro </h1><p>\n\n</p><p>Another paragraph</p>", | assert_equal "<h1><a name='Motiro'></a> Motiro </h1><p><br />\n\n</p><p>Another paragraph</p>", | 24 |
| 25 | str.medialize | str.medialize | 25 |
| 26 | end | end | 26 |
| 27 | 27 |
| 35 | def test_breaks_paragraphs_on_linebreak_and_return_feed | def test_breaks_paragraphs_on_linebreak_and_return_feed | 35 |
|---|---|---|---|
| 36 | line_break_only_text = "= Motiro =\n\nThis is project Motiro" | line_break_only_text = "= Motiro =\n\nThis is project Motiro" | 36 |
| 37 | feed_return_text = "= Motiro =\r\n\r\nThis is project Motiro" | feed_return_text = "= Motiro =\r\n\r\nThis is project Motiro" | 37 |
| 38 | expected_text = "<h1><a name='Motiro'></a> Motiro </h1><p>This is project Motiro</p>" | expected_text = "<h1><a name='Motiro'></a> Motiro </h1><p><br /></p><p>This is project Motiro</p>" | 38 |
| 39 | 39 | ||
| 40 | assert_equal expected_text, renderer.render_wiki_text(line_break_only_text) | assert_equal expected_text, renderer.render_wiki_text(line_break_only_text) | 40 |
| 41 | assert_equal expected_text, renderer.render_wiki_text(feed_return_text) | assert_equal expected_text, renderer.render_wiki_text(feed_return_text) | 41 |
| 199 more lines | |||
| 241 | '<a name=\'Super_title\'><span style="background: #b8ffb8"></span></a> ' + | '<a name=\'Super_title\'><span style="background: #b8ffb8"></span></a> ' + | 241 |
| 242 | '<span style="background: #ffb8b8">Sub</span>' + | '<span style="background: #ffb8b8">Sub</span>' + | 242 |
| 243 | '<span style="background: #b8ffb8">Super</span> title</h2> ' + | '<span style="background: #b8ffb8">Super</span> title</h2> ' + | 243 |
'<p><br /></p> ' + | 244 | ||
| 244 | '<p>Paragraph</p>', | '<p>Paragraph</p>', | 245 |
| 245 | renderer.render_wiki_diff(previous, current) | renderer.render_wiki_diff(previous, current) | 246 |
| 246 | end | end | 247 |
| 60 | end | end | 60 |
|---|---|---|---|
| 61 | 61 | ||
| 62 | def parse_paragraph(ast) | def parse_paragraph(ast) | 62 |
| 63 | if ast.children | if (children = ast.children) | 63 |
| 64 | "<p>" + super(ast) + "</p>" | if children.size == 1 and ((text = children.first.contents) == "\n\n" || text == "\r\n\r\n") | 64 |
"<p><br />#{text}</p>" | 65 | ||
else | 66 | ||
"<p>#{super(ast)}</p>" | 67 | ||
end | 68 | ||
| 65 | else | else | 69 |
| 66 | "<p><br /></p>" | "<p><br /></p>" | 70 |
| 67 | end | end | 71 |
| 10 | 10 | ||
|---|---|---|---|
| 11 | </p><p>We can have headlines: | </p><p>We can have headlines: | 11 |
| 12 | 12 | ||
| 13 | </p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Headline2'></a> Headline2 </h2><h3><a name='Headline3'></a> Headline3 </h3><h4><a name='Headline4'></a> Headline4 </h4><h5><a name='Headline5'></a> Headline5 </h5><h6><a name='Headline6'></a> Headline6 </h6><h7><a name='Headline7'></a> Headline7 </h7><p> | </p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Headline2'></a> Headline2 </h2><h3><a name='Headline3'></a> Headline3 </h3><h4><a name='Headline4'></a> Headline4 </h4><h5><a name='Headline5'></a> Headline5 </h5><h6><a name='Headline6'></a> Headline6 </h6><h7><a name='Headline7'></a> Headline7 </h7><p><br /> | 13 |
| 14 | 14 | ||
| 15 | </p><p>Headlines may have formatting: | </p><p>Headlines may have formatting: | 15 |
| 16 | 16 | ||
| 17 | </p><h1><a name='See_for_more_info'></a> See <a href="javascript:void(0)">Internal Link</a> for more info </h1><h2><a name='This_is_an_important_heading'></a> This is an <b>important</b> heading </h2><p> | </p><h1><a name='See_for_more_info'></a> See <a href="javascript:void(0)">Internal Link</a> for more info </h1><h2><a name='This_is_an_important_heading'></a> This is an <b>important</b> heading </h2><p><br /> | 17 |
| 18 | 18 | ||
| 19 | </p><pre> This is a preformatted <b> </b> << <i> </i> text | </p><pre> This is a preformatted <b> </b> << <i> </i> text | 19 |
| 20 | yes | yes | 20 |
| 1 | <p>Some examples of tables. | <p>Some examples of tables. | 1 |
|---|---|---|---|
| 2 | 2 | ||
| 3 | </p><table></table> | </p><table></table> | 3 |
| 4 | <p> | <p><br /> | 4 |
| 5 | 5 | ||
| 6 | </p><table><tr></tr> | </p><table><tr></tr> | 6 |
| 7 | </table> | </table> | 7 |
| 8 | <p> | <p><br /> | 8 |
| 9 | 9 | ||
| 10 | </p><table><tr><td> a | </p><table><tr><td> a | 10 |
| 11 | </td><td> b | </td><td> b | 11 |
| 12 | </td></tr> | </td></tr> | 12 |
| 13 | </table> | </table> | 13 |
| 14 | <p> | <p><br /> | 14 |
| 15 | 15 | ||
| 16 | </p><table><tr><td> a | </p><table><tr><td> a | 16 |
| 17 | </td><td> b | </td><td> b | 17 |
| 2 more lines | |||
| 20 | </td><td> 2 | </td><td> 2 | 20 |
| 21 | </td></tr> | </td></tr> | 21 |
| 22 | </table> | </table> | 22 |
| 23 | <p> | <p><br /> | 23 |
| 24 | 24 | ||
| 25 | </p><table><tr><td> a </td><td> b | </p><table><tr><td> a </td><td> b | 25 |
| 26 | </td></tr> | </td></tr> | 26 |
| 27 | <tr><td> 1 </td><td> 2 | <tr><td> 1 </td><td> 2 | 27 |
| 28 | </td></tr> | </td></tr> | 28 |
| 29 | </table> | </table> | 29 |
| 30 | <p> | <p><br /> | 30 |
| 31 | 31 | ||
| 32 | </p><table><tr><th> a | </p><table><tr><th> a | 32 |
| 33 | </th><th> b | </th><th> b | 33 |
| 2 more lines | |||
| 36 | </td><td> 2 | </td><td> 2 | 36 |
| 37 | </td></tr> | </td></tr> | 37 |
| 38 | </table> | </table> | 38 |
| 39 | <p> | <p><br /> | 39 |
| 40 | 40 | ||
| 41 | </p><table><tr><th> a </th><th> b | </p><table><tr><th> a </th><th> b | 41 |
| 42 | </th></tr> | </th></tr> | 42 |
| 43 | <tr><td> 1 </td><td> 2 | <tr><td> 1 </td><td> 2 | 43 |
| 44 | </td></tr> | </td></tr> | 44 |
| 45 | </table> | </table> | 45 |
| 46 | <p> | <p><br /> | 46 |
| 47 | 47 | ||
| 48 | </p><table><tr><td> a | </p><table><tr><td> a | 48 |
| 49 | </td></tr> | </td></tr> | 49 |
| 1 more lines | |||
| 51 | </td><td> 2 | </td><td> 2 | 51 |
| 52 | </td></tr> | </td></tr> | 52 |
| 53 | </table> | </table> | 53 |
| 54 | <p> | <p><br /> | 54 |
| 55 | 55 | ||
| 56 | </p><table><tr><td> a | </p><table><tr><td> a | 56 |
| 57 | </td><td> b | </td><td> b | 57 |
| 1 more lines | |||
| 59 | <tr><td> 1 | <tr><td> 1 | 59 |
| 60 | </td></tr> | </td></tr> | 60 |
| 61 | </table> | </table> | 61 |
| 62 | <p> | <p><br /> | 62 |
| 63 | 63 | ||
| 64 | </p><table><tr><td> a | </p><table><tr><td> a | 64 |
| 65 | </td><td> b | </td><td> b | 65 |
| 1 more lines | |||
| 67 | <tr><td></td><td> 2 | <tr><td></td><td> 2 | 67 |
| 68 | </td></tr> | </td></tr> | 68 |
| 69 | </table> | </table> | 69 |
| 70 | <p> | <p><br /> | 70 |
| 71 | 71 | ||
| 72 | </p><table><tr><td> <a href="http://example.com">Example</a></td><td> <b>bold</b></td></tr> | </p><table><tr><td> <a href="http://example.com">Example</a></td><td> <b>bold</b></td></tr> | 72 |
| 73 | <tr><td> <a href="javascript:void(0)">Example</a></td><td> <a href="javascript:void(0)">image:example.jpg(1, 2, 3)</a></td></tr> | <tr><td> <a href="javascript:void(0)">Example</a></td><td> <a href="javascript:void(0)">image:example.jpg(1, 2, 3)</a></td></tr> | 73 |
| 74 | </table> | </table> | 74 |
| 75 | <p> | <p><br /> | 75 |
| 76 | 76 | ||
| 77 | </p><table><tr><td> <a href="http://example.com">Example</a></td><td> <b>bold | </p><table><tr><td> <a href="http://example.com">Example</a></td><td> <b>bold | 77 |
| 78 | </b></td></tr> | </b></td></tr> | 78 |
| 79 | <tr><td> <a href="javascript:void(0)">Example</a></td><td> <b>bold <i>italic | <tr><td> <a href="javascript:void(0)">Example</a></td><td> <b>bold <i>italic | 79 |
| 80 | </i></b></td></tr> | </i></b></td></tr> | 80 |
| 81 | </table> | </table> | 81 |
| 82 | <p> | <p><br /> | 82 |
| 83 | 83 | ||
| 84 | </p><table><tr><td> a | </p><table><tr><td> a | 84 |
| 85 | </td><td> b | </td><td> b | 85 |
| 3 more lines | |||
| 89 | </li><li> two | </li><li> two | 89 |
| 90 | </li></ul></td></tr> | </li></ul></td></tr> | 90 |
| 91 | </table> | </table> | 91 |
| 92 | <p> | <p><br /> | 92 |
| 93 | 93 | ||
| 94 | </p><table><tr><td> a | </p><table><tr><td> a | 94 |
| 95 | </td><td> b | </td><td> b | 95 |
| 8 more lines | |||
| 104 | </table> | </table> | 104 |
| 105 | </td></tr> | </td></tr> | 105 |
| 106 | </table> | </table> | 106 |
| 107 | <p> | <p><br /> | 107 |
| 108 | 108 | ||
| 109 | </p><table border="1"><tr><th> a | </p><table border="1"><tr><th> a | 109 |
| 110 | </th><th> b | </th><th> b | 110 |
| 2 more lines | |||
| 113 | </td><td> 2 | </td><td> 2 | 113 |
| 114 | </td></tr> | </td></tr> | 114 |
| 115 | </table> | </table> | 115 |
| 116 | <p> | <p><br /> | 116 |
| 117 | 117 | ||
| 118 | </p><p> | </p><p> | 118 |
| 119 | Text before | Text before | 119 |
| 1 more lines | |||
| 121 | </td><td> b | </td><td> b | 121 |
| 122 | </td></tr> | </td></tr> | 122 |
| 123 | </table> | </table> | 123 |
| 124 | <p> | <p><br /> | 124 |
| 125 | 125 | ||
| 126 | </p><p>Text before with <i>italic | </p><p>Text before with <i>italic | 126 |
| 127 | </i></p><table><tr><td> a | </i></p><table><tr><td> a | 127 |
| 1 | <h2><a name='Examples_of_XHTML_markup_and_escaping_of_XML_characters'></a>Examples of XHTML markup and escaping of XML characters</h2><p> | <h2><a name='Examples_of_XHTML_markup_and_escaping_of_XML_characters'></a>Examples of XHTML markup and escaping of XML characters</h2><p><br /> | 1 |
|---|---|---|---|
| 2 | 2 | ||
| 3 | </p><p>Here is a <tt>code sample</tt>. | </p><p>Here is a <tt>code sample</tt>. | 3 |
| 4 | 4 |
| 6 | <ul><li>2.1.1 <a href='#Sub_Sub_Headline_2i'> Sub Sub Headline <i>2i</i> </a></li> | <ul><li>2.1.1 <a href='#Sub_Sub_Headline_2i'> Sub Sub Headline <i>2i</i> </a></li> | 6 |
|---|---|---|---|
| 7 | <li>2.1.2 <a href='#Sub_Sub_Headline_2ii'> Sub Sub Headline <b>2ii</b> </a></li> | <li>2.1.2 <a href='#Sub_Sub_Headline_2ii'> Sub Sub Headline <b>2ii</b> </a></li> | 7 |
| 8 | </ul><li>2.2 <a href='#Sub_Headline_2b'> Sub Headline 2b </a></li> | </ul><li>2.2 <a href='#Sub_Headline_2b'> Sub Headline 2b </a></li> | 8 |
| 9 | </ul></ul><p> | </ul></ul><p><br /> | 9 |
| 10 | 10 | ||
| 11 | </p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Sub_Headline_1a'></a> Sub Headline 1a </h2><h2><a name='Sub_Headline_1b'></a> Sub Headline 1b </h2><h1><a name='Headline2'></a> Headline2 </h1><h2><a name='Sub_Headline_2a'></a> Sub Headline 2a </h2><h3><a name='Sub_Sub_Headline_2i'></a> Sub Sub Headline <i>2i</i> </h3><h3><a name='Sub_Sub_Headline_2ii'></a> Sub Sub Headline <b>2ii</b> </h3><h2><a name='Sub_Headline_2b'></a> Sub Headline 2b </h2> | </p><h1><a name='Headline1'></a> Headline1 </h1><h2><a name='Sub_Headline_1a'></a> Sub Headline 1a </h2><h2><a name='Sub_Headline_1b'></a> Sub Headline 1b </h2><h1><a name='Headline2'></a> Headline2 </h1><h2><a name='Sub_Headline_2a'></a> Sub Headline 2a </h2><h3><a name='Sub_Sub_Headline_2i'></a> Sub Sub Headline <i>2i</i> </h3><h3><a name='Sub_Sub_Headline_2ii'></a> Sub Sub Headline <b>2ii</b> </h3><h2><a name='Sub_Headline_2b'></a> Sub Headline 2b </h2> | 11 |
| 40 | </p><p><i>Some italic and now <b>bold | </p><p><i>Some italic and now <b>bold | 40 |
|---|---|---|---|
| 41 | </b></i></p><ul><li> one | </b></i></p><ul><li> one | 41 |
| 42 | </li><li> two | </li><li> two | 42 |
| 43 | </li></ul><p> | </li></ul><p><br /> | 43 |
| 44 | 44 | ||
| 45 | </p><p><i>Some italic and now <b>bold | </p><p><i>Some italic and now <b>bold | 45 |
| 46 | 46 |
| 36 | Dictionary lists | Dictionary lists | 36 |
|---|---|---|---|
| 37 | 37 | ||
| 38 | </p><dl><dt>d | </p><dl><dt>d | 38 |
| 39 | </dt></dl><p> | </dt></dl><p><br /> | 39 |
| 40 | 40 | ||
| 41 | </p><dl><dd>t | </p><dl><dd>t | 41 |
| 42 | </dd></dl><p> | </dd></dl><p><br /> | 42 |
| 43 | 43 | ||
| 44 | </p><dl><dt>d | </p><dl><dt>d | 44 |
| 45 | </dt><dd>t | </dt><dd>t | 45 |
| 46 | </dd></dl><p> | </dd></dl><p><br /> | 46 |
| 47 | 47 | ||
| 48 | </p><dl><dt>d | </p><dl><dt>d | 48 |
| 49 | </dt><dd>t | </dt><dd>t | 49 |
| 50 | </dd><dd>t | </dd><dd>t | 50 |
| 51 | </dd></dl><p> | </dd></dl><p><br /> | 51 |
| 52 | 52 | ||
| 53 | </p><dl><dt>d | </p><dl><dt>d | 53 |
| 54 | </dt><dd>t | </dt><dd>t | 54 |