diff options
Diffstat (limited to 'tests/php')
61 files changed, 2423 insertions, 0 deletions
diff --git a/tests/php/Auto Links.text b/tests/php/Auto Links.text new file mode 100644 index 0000000..4b10d32 --- /dev/null +++ b/tests/php/Auto Links.text @@ -0,0 +1,3 @@ +<HTTP://WWW.SOMEURL.COM> + +<hr@company.com>
\ No newline at end of file diff --git a/tests/php/Auto Links.xhtml b/tests/php/Auto Links.xhtml new file mode 100644 index 0000000..259c47f --- /dev/null +++ b/tests/php/Auto Links.xhtml @@ -0,0 +1,3 @@ +<p><a href="HTTP://WWW.SOMEURL.COM">HTTP://WWW.SOMEURL.COM</a></p> + +<p><a href="mailto:hr@company.com">hr@company.com</a></p>
\ No newline at end of file diff --git a/tests/php/Backslash escapes.text b/tests/php/Backslash escapes.text new file mode 100644 index 0000000..a5e769b --- /dev/null +++ b/tests/php/Backslash escapes.text @@ -0,0 +1 @@ +Tricky combinaisons:
backslash with \\-- two dashes
backslash with \\> greater than
\\\[test](not a link)
\\\*no emphasis*
\ No newline at end of file diff --git a/tests/php/Backslash escapes.xhtml b/tests/php/Backslash escapes.xhtml new file mode 100644 index 0000000..08fb8ef --- /dev/null +++ b/tests/php/Backslash escapes.xhtml @@ -0,0 +1 @@ +<p>Tricky combinaisons:</p>
<p>backslash with \-- two dashes</p>
<p>backslash with \> greater than</p>
<p>\[test](not a link)</p>
<p>\*no emphasis*</p>
\ No newline at end of file diff --git a/tests/php/Code Spans.text b/tests/php/Code Spans.text new file mode 100644 index 0000000..43f2bcf --- /dev/null +++ b/tests/php/Code Spans.text @@ -0,0 +1,6 @@ +From `<!--` to `-->` +on two lines. + +From `<!--` +to `-->` +on three lines. diff --git a/tests/php/Code Spans.xhtml b/tests/php/Code Spans.xhtml new file mode 100644 index 0000000..9ed0df8 --- /dev/null +++ b/tests/php/Code Spans.xhtml @@ -0,0 +1,6 @@ +<p>From <code><!--</code> to <code>--></code> +on two lines.</p> + +<p>From <code><!--</code> +to <code>--></code> +on three lines.</p> diff --git a/tests/php/Code block in a list item.text b/tests/php/Code block in a list item.text new file mode 100644 index 0000000..5093348 --- /dev/null +++ b/tests/php/Code block in a list item.text @@ -0,0 +1,15 @@ + +* List Item: + + code block + + with a blank line + + within a list item. + +* code block + as first element of a list item + +* List Item: + + code block with whitespace on preceding line
\ No newline at end of file diff --git a/tests/php/Code block in a list item.xhtml b/tests/php/Code block in a list item.xhtml new file mode 100644 index 0000000..361c1ae --- /dev/null +++ b/tests/php/Code block in a list item.xhtml @@ -0,0 +1,18 @@ +<ul> +<li><p>List Item:</p> + +<pre><code>code block + +with a blank line +</code></pre> + +<p>within a list item.</p></li> +<li><pre><code>code block +as first element of a list item +</code></pre></li> + +<li><p>List Item:</p> + +<pre><code>code block with whitespace on preceding line +</code></pre></li> +</ul>
\ No newline at end of file diff --git a/tests/php/Code block on second line.text b/tests/php/Code block on second line.text new file mode 100644 index 0000000..b7fcd97 --- /dev/null +++ b/tests/php/Code block on second line.text @@ -0,0 +1,2 @@ + + Codeblock on second line diff --git a/tests/php/Code block on second line.xhtml b/tests/php/Code block on second line.xhtml new file mode 100644 index 0000000..25abb16 --- /dev/null +++ b/tests/php/Code block on second line.xhtml @@ -0,0 +1,2 @@ +<pre><code>Codeblock on second line +</code></pre> diff --git a/tests/php/Email auto links.text b/tests/php/Email auto links.text new file mode 100644 index 0000000..a8af4ec --- /dev/null +++ b/tests/php/Email auto links.text @@ -0,0 +1,3 @@ +<michel.fortin@michelf.com> + +International domain names: <help@tūdaliņ.lv>
\ No newline at end of file diff --git a/tests/php/Email auto links.xhtml b/tests/php/Email auto links.xhtml new file mode 100644 index 0000000..a32c408 --- /dev/null +++ b/tests/php/Email auto links.xhtml @@ -0,0 +1,3 @@ +<p><a href="mailto:michel.fortin@michelf.com">michel.fortin@michelf.com</a></p> + +<p>International domain names: <a href="mailto:help@tūdaliņ.lv">help@tūdaliņ.lv</a></p> diff --git a/tests/php/Emphasis.text b/tests/php/Emphasis.text new file mode 100644 index 0000000..88e93d4 --- /dev/null +++ b/tests/php/Emphasis.text @@ -0,0 +1,80 @@ +Combined emphasis: + +1. ***test test*** +2. ___test test___ +3. *test **test*** +4. **test *test*** +5. ***test* test** +6. ***test** test* +7. ***test* test** +8. **test *test*** +9. *test **test*** +10. _test __test___ +11. __test _test___ +12. ___test_ test__ +13. ___test__ test_ +14. ___test_ test__ +15. __test _test___ +16. _test __test___ + + +Incorrect nesting: + +1. *test **test* test** +2. _test __test_ test__ +3. **test *test** test* +4. __test _test__ test_ +5. *test *test* test* +6. _test _test_ test_ +7. **test **test** test** +8. __test __test__ test__ + + + +No emphasis: + +1. test* test *test +2. test** test **test +3. test_ test _test +4. test__ test __test + + + +Middle-word emphasis (asterisks): + +1. *a*b +2. a*b* +3. a*b*c +4. **a**b +5. a**b** +6. a**b**c + + +Middle-word emphasis (underscore): + +1. _a_b +2. a_b_ +3. a_b_c +4. __a__b +5. a__b__ +6. a__b__c + +my_precious_file.txt + + +## Tricky Cases + +E**. **Test** TestTestTest + +E**. **Test** Test Test Test + + +## Overlong emphasis + +Name: ____________ +Organization: ____ +Region/Country: __ + +_____Cut here_____ + +____Cut here____ diff --git a/tests/php/Emphasis.xhtml b/tests/php/Emphasis.xhtml new file mode 100644 index 0000000..4879070 --- /dev/null +++ b/tests/php/Emphasis.xhtml @@ -0,0 +1,83 @@ +<p>Combined emphasis:</p> + +<ol> +<li><strong><em>test test</em></strong></li> +<li><strong><em>test test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +<li><strong>test <em>test</em></strong></li> +<li><strong><em>test</em> test</strong></li> +<li><em><strong>test</strong> test</em></li> +<li><strong><em>test</em> test</strong></li> +<li><strong>test <em>test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +<li><em>test <strong>test</strong></em></li> +<li><strong>test <em>test</em></strong></li> +<li><strong><em>test</em> test</strong></li> +<li><em><strong>test</strong> test</em></li> +<li><strong><em>test</em> test</strong></li> +<li><strong>test <em>test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +</ol> + +<p>Incorrect nesting:</p> + +<ol> +<li>*test <strong>test* test</strong></li> +<li>_test <strong>test_ test</strong></li> +<li><strong>test *test</strong> test*</li> +<li><strong>test _test</strong> test_</li> +<li><em>test *test</em> test*</li> +<li><em>test _test</em> test_</li> +<li><strong>test **test</strong> test**</li> +<li><strong>test __test</strong> test__</li> +</ol> + +<p>No emphasis:</p> + +<ol> +<li>test* test *test</li> +<li>test** test **test</li> +<li>test_ test _test</li> +<li>test__ test __test</li> +</ol> + +<p>Middle-word emphasis (asterisks):</p> + +<ol> +<li><em>a</em>b</li> +<li>a<em>b</em></li> +<li>a<em>b</em>c</li> +<li><strong>a</strong>b</li> +<li>a<strong>b</strong></li> +<li>a<strong>b</strong>c</li> +</ol> + +<p>Middle-word emphasis (underscore):</p> + +<ol> +<li><em>a</em>b</li> +<li>a<em>b</em></li> +<li>a<em>b</em>c</li> +<li><strong>a</strong>b</li> +<li>a<strong>b</strong></li> +<li>a<strong>b</strong>c</li> +</ol> + +<p>my<em>precious</em>file.txt</p> + +<h2>Tricky Cases</h2> + +<p>E**. <strong>Test</strong> TestTestTest</p> + +<p>E**. <strong>Test</strong> Test Test Test</p> + + +<h2>Overlong emphasis</h2> + +<p>Name: ____________<br /> +Organization: ____<br /> +Region/Country: __</p> + +<p>_____Cut here_____</p> + +<p>____Cut here____</p>
\ No newline at end of file diff --git a/tests/php/Empty List Item.text b/tests/php/Empty List Item.text new file mode 100644 index 0000000..3c4edba --- /dev/null +++ b/tests/php/Empty List Item.text @@ -0,0 +1,35 @@ +With asterisks + + * List item + * + * List item + +With numbers + +1. List item +2. +3. List item + +With hyphens + +- List item +- +- List item + +With asterisks + + * List item + * List item + * + +With numbers + +1. List item +2. List item +3. + +With hyphens + +- List item +- List item +- diff --git a/tests/php/Empty List Item.xhtml b/tests/php/Empty List Item.xhtml new file mode 100644 index 0000000..02d86ed --- /dev/null +++ b/tests/php/Empty List Item.xhtml @@ -0,0 +1,47 @@ +<p>With asterisks</p> + +<ul> +<li>List item</li> +<li></li> +<li>List item</li> +</ul> + +<p>With numbers</p> + +<ol> +<li>List item</li> +<li></li> +<li>List item</li> +</ol> + +<p>With hyphens</p> + +<ul> +<li>List item</li> +<li></li> +<li>List item</li> +</ul> + +<p>With asterisks</p> + +<ul> +<li>List item</li> +<li>List item</li> +<li></li> +</ul> + +<p>With numbers</p> + +<ol> +<li>List item</li> +<li>List item</li> +<li></li> +</ol> + +<p>With hyphens</p> + +<ul> +<li>List item</li> +<li>List item</li> +<li></li> +</ul>
\ No newline at end of file diff --git a/tests/php/Headers.text b/tests/php/Headers.text new file mode 100644 index 0000000..3a39174 --- /dev/null +++ b/tests/php/Headers.text @@ -0,0 +1,9 @@ +Header
======
Header
------
### Header + + - - - + +Header
======
Paragraph
Header
------
Paragraph
### Header
Paragraph + + - - - + +Paragraph
Header
======
Paragraph
Paragraph
Header
------
Paragraph
Paragraph
### Header
Paragraph
\ No newline at end of file diff --git a/tests/php/Headers.xhtml b/tests/php/Headers.xhtml new file mode 100644 index 0000000..3adb470 --- /dev/null +++ b/tests/php/Headers.xhtml @@ -0,0 +1,39 @@ +<h1>Header</h1> + +<h2>Header</h2> + +<h3>Header</h3> + +<hr /> + +<h1>Header</h1> + +<p>Paragraph</p> + +<h2>Header</h2> + +<p>Paragraph</p> + +<h3>Header</h3> + +<p>Paragraph</p> + +<hr /> + +<p>Paragraph</p> + +<h1>Header</h1> + +<p>Paragraph</p> + +<p>Paragraph</p> + +<h2>Header</h2> + +<p>Paragraph</p> + +<p>Paragraph</p> + +<h3>Header</h3> + +<p>Paragraph</p> diff --git a/tests/php/Horizontal Rules.text b/tests/php/Horizontal Rules.text new file mode 100644 index 0000000..8e2da0b --- /dev/null +++ b/tests/php/Horizontal Rules.text @@ -0,0 +1,29 @@ +Horizontal rules: + +- - - + +* * * + +*** + +--- + +___ + +Not horizontal rules (testing for a bug in 1.0.1j): + ++++ + +,,, + +=== + +??? + +AAA + +jjj + +j j j + +n n n diff --git a/tests/php/Horizontal Rules.xhtml b/tests/php/Horizontal Rules.xhtml new file mode 100644 index 0000000..b9170b1 --- /dev/null +++ b/tests/php/Horizontal Rules.xhtml @@ -0,0 +1,30 @@ +<p>Horizontal rules:</p> + +<hr /> + +<hr /> + +<hr /> + +<hr /> + +<hr /> + +<p>Not horizontal rules (testing for a bug in 1.0.1j):</p> + +<p>+++</p> + +<p>,,,</p> + +<p>===</p> + +<p>???</p> + +<p>AAA</p> + +<p>jjj</p> + +<p>j j j</p> + +<p>n n n</p> + diff --git a/tests/php/Inline HTML (Simple).text b/tests/php/Inline HTML (Simple).text new file mode 100644 index 0000000..9177105 --- /dev/null +++ b/tests/php/Inline HTML (Simple).text @@ -0,0 +1,15 @@ +With some attributes: + +<div id="test"> + foo +</div> + +<div id="test" + class="nono"> + foo +</div> + +Hr's: + +<hr class="foo" + id="bar" > diff --git a/tests/php/Inline HTML (Simple).xhtml b/tests/php/Inline HTML (Simple).xhtml new file mode 100644 index 0000000..facfefb --- /dev/null +++ b/tests/php/Inline HTML (Simple).xhtml @@ -0,0 +1,15 @@ +<p>With some attributes:</p> + +<div id="test"> + foo +</div> + +<div id="test" + class="nono"> + foo +</div> + +<p>Hr's:</p> + +<hr class="foo" + id="bar" >
\ No newline at end of file diff --git a/tests/php/Inline HTML (Span).text b/tests/php/Inline HTML (Span).text new file mode 100644 index 0000000..19028bb --- /dev/null +++ b/tests/php/Inline HTML (Span).text @@ -0,0 +1,4 @@ +<abbr title="` **Attribute Content Is Not A Code Span** `">ACINACS</abbr> + +<abbr title="`first backtick!">SB</abbr> +<abbr title="`second backtick!">SB</abbr>
\ No newline at end of file diff --git a/tests/php/Inline HTML (Span).xhtml b/tests/php/Inline HTML (Span).xhtml new file mode 100644 index 0000000..4d18aff --- /dev/null +++ b/tests/php/Inline HTML (Span).xhtml @@ -0,0 +1,4 @@ +<p><abbr title="` **Attribute Content Is Not A Code Span** `">ACINACS</abbr></p> + +<p><abbr title="`first backtick!">SB</abbr> +<abbr title="`second backtick!">SB</abbr></p>
\ No newline at end of file diff --git a/tests/php/Inline HTML comments.text b/tests/php/Inline HTML comments.text new file mode 100644 index 0000000..d57d00a --- /dev/null +++ b/tests/php/Inline HTML comments.text @@ -0,0 +1,9 @@ +Paragraph one. + +<!-- double--dash (invalid SGML comment) --> + +Paragraph two. + +<!-- enclosed tag </div> --> + +The end. diff --git a/tests/php/Inline HTML comments.xhtml b/tests/php/Inline HTML comments.xhtml new file mode 100644 index 0000000..b45f014 --- /dev/null +++ b/tests/php/Inline HTML comments.xhtml @@ -0,0 +1,9 @@ +<p>Paragraph one.</p> + +<!-- double--dash (invalid SGML comment) --> + +<p>Paragraph two.</p> + +<!-- enclosed tag </div> --> + +<p>The end.</p> diff --git a/tests/php/Ins & del.text b/tests/php/Ins & del.text new file mode 100644 index 0000000..2d54c66 --- /dev/null +++ b/tests/php/Ins & del.text @@ -0,0 +1,17 @@ +Here is a block tag ins: + +<ins> +<p>Some text</p> +</ins> + +<ins>And here it is inside a paragraph.</ins> + +And here it is <ins>in the middle of</ins> a paragraph. + +<del> +<p>Some text</p> +</del> + +<del>And here is ins as a paragraph.</del> + +And here it is <del>in the middle of</del> a paragraph. diff --git a/tests/php/Ins & del.xhtml b/tests/php/Ins & del.xhtml new file mode 100644 index 0000000..60e8c5f --- /dev/null +++ b/tests/php/Ins & del.xhtml @@ -0,0 +1,17 @@ +<p>Here is a block tag ins:</p> + +<ins> +<p>Some text</p> +</ins> + +<p><ins>And here it is inside a paragraph.</ins></p> + +<p>And here it is <ins>in the middle of</ins> a paragraph.</p> + +<del> +<p>Some text</p> +</del> + +<p><del>And here is ins as a paragraph.</del></p> + +<p>And here it is <del>in the middle of</del> a paragraph.</p> diff --git a/tests/php/License b/tests/php/License new file mode 100644 index 0000000..d511905 --- /dev/null +++ b/tests/php/License @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/tests/php/Links, inline style.text b/tests/php/Links, inline style.text new file mode 100644 index 0000000..600a044 --- /dev/null +++ b/tests/php/Links, inline style.text @@ -0,0 +1 @@ +[silly URL w/ angle brackets](<?}]*+|&)>). diff --git a/tests/php/Links, inline style.xhtml b/tests/php/Links, inline style.xhtml new file mode 100644 index 0000000..d3e4d11 --- /dev/null +++ b/tests/php/Links, inline style.xhtml @@ -0,0 +1 @@ +<p><a href="?}]*+|&)">silly URL w/ angle brackets</a>.</p> diff --git a/tests/php/MD5 Hashes.text b/tests/php/MD5 Hashes.text new file mode 100644 index 0000000..7e03221 --- /dev/null +++ b/tests/php/MD5 Hashes.text @@ -0,0 +1,11 @@ +# Character Escapes + +The MD5 value for `+` is "26b17225b626fb9238849fd60eabdf60". + +# HTML Blocks + +<p>test</p> + +The MD5 value for `<p>test</p>` is: + +6205333b793f34273d75379350b36826
\ No newline at end of file diff --git a/tests/php/MD5 Hashes.xhtml b/tests/php/MD5 Hashes.xhtml new file mode 100644 index 0000000..894e4aa --- /dev/null +++ b/tests/php/MD5 Hashes.xhtml @@ -0,0 +1,11 @@ +<h1>Character Escapes</h1> + +<p>The MD5 value for <code>+</code> is "26b17225b626fb9238849fd60eabdf60".</p> + +<h1>HTML Blocks</h1> + +<p>test</p> + +<p>The MD5 value for <code><p>test</p></code> is:</p> + +<p>6205333b793f34273d75379350b36826</p> diff --git a/tests/php/Mixed OLs and ULs.text b/tests/php/Mixed OLs and ULs.text new file mode 100644 index 0000000..cecde21 --- /dev/null +++ b/tests/php/Mixed OLs and ULs.text @@ -0,0 +1,13 @@ +* test ++ test +- test + +1. test +2. test + +* test ++ test +- test + +1. test +2. test diff --git a/tests/php/Mixed OLs and ULs.xhtml b/tests/php/Mixed OLs and ULs.xhtml new file mode 100644 index 0000000..0872aaa --- /dev/null +++ b/tests/php/Mixed OLs and ULs.xhtml @@ -0,0 +1,21 @@ +<ul> +<li>test</li> +<li>test</li> +<li>test</li> +</ul> + +<ol> +<li>test</li> +<li>test</li> +</ol> + +<ul> +<li>test</li> +<li>test</li> +<li>test</li> +</ul> + +<ol> +<li>test</li> +<li>test</li> +</ol> diff --git a/tests/php/Nesting.text b/tests/php/Nesting.text new file mode 100644 index 0000000..791538c --- /dev/null +++ b/tests/php/Nesting.text @@ -0,0 +1,11 @@ +Valid nesting: + +**[Link](url)** + +[**Link**](url) + +**[**Link**](url)** + +Invalid nesting: + +[[Link](url)](url)
\ No newline at end of file diff --git a/tests/php/Nesting.xhtml b/tests/php/Nesting.xhtml new file mode 100644 index 0000000..37845d3 --- /dev/null +++ b/tests/php/Nesting.xhtml @@ -0,0 +1,11 @@ +<p>Valid nesting:</p> + +<p><strong><a href="url">Link</a></strong></p> + +<p><a href="url"><strong>Link</strong></a></p> + +<p><strong><a href="url"><strong>Link</strong></a></strong></p> + +<p>Invalid nesting:</p> + +<p><a href="url">[Link](url)</a></p> diff --git a/tests/php/PHP-Specific Bugs.text b/tests/php/PHP-Specific Bugs.text new file mode 100644 index 0000000..246b60d --- /dev/null +++ b/tests/php/PHP-Specific Bugs.text @@ -0,0 +1,22 @@ +This tests for a bug where quotes escaped by PHP when using +`preg_replace` with the `/e` modifier must be correctly unescaped +(hence the `_UnslashQuotes` function found only in PHP Markdown). + + + +Headers below should appear exactly as they are typed (no backslash +added or removed). + +Header "quoted\" again \\"" +=========================== + +Header "quoted\" again \\"" +--------------------------- + +### Header "quoted\" again \\"" ### + + + +Test with tabs for `_Detab`: + + Code 'block' with some "tabs" and "quotes" diff --git a/tests/php/PHP-Specific Bugs.xhtml b/tests/php/PHP-Specific Bugs.xhtml new file mode 100644 index 0000000..c982417 --- /dev/null +++ b/tests/php/PHP-Specific Bugs.xhtml @@ -0,0 +1,17 @@ +<p>This tests for a bug where quotes escaped by PHP when using +<code>preg_replace</code> with the <code>/e</code> modifier must be correctly unescaped +(hence the <code>_UnslashQuotes</code> function found only in PHP Markdown).</p> + +<p>Headers below should appear exactly as they are typed (no backslash +added or removed).</p> + +<h1>Header "quoted\" again \""</h1> + +<h2>Header "quoted\" again \""</h2> + +<h3>Header "quoted\" again \""</h3> + +<p>Test with tabs for <code>_Detab</code>:</p> + +<pre><code>Code 'block' with some "tabs" and "quotes" +</code></pre> diff --git a/tests/php/Parens in URL.text b/tests/php/Parens in URL.text new file mode 100644 index 0000000..bb7be4f --- /dev/null +++ b/tests/php/Parens in URL.text @@ -0,0 +1,14 @@ +[Inline link 1 with parens](/url\(test\) "title"). + +[Inline link 2 with parens](</url\(test\)> "title"). + +[Inline link 3 with non-escaped parens](/url(test) "title"). + +[Inline link 4 with non-escaped parens](</url(test)> "title"). + +[Reference link 1 with parens][1]. + +[Reference link 2 with parens][2]. + + [1]: /url(test) "title" + [2]: </url(test)> "title" diff --git a/tests/php/Parens in URL.xhtml b/tests/php/Parens in URL.xhtml new file mode 100644 index 0000000..a81aa02 --- /dev/null +++ b/tests/php/Parens in URL.xhtml @@ -0,0 +1,11 @@ +<p><a href="/url(test)" title="title">Inline link 1 with parens</a>.</p> + +<p><a href="/url(test)" title="title">Inline link 2 with parens</a>.</p> + +<p><a href="/url(test)" title="title">Inline link 3 with non-escaped parens</a>.</p> + +<p><a href="/url(test)" title="title">Inline link 4 with non-escaped parens</a>.</p> + +<p><a href="/url(test)" title="title">Reference link 1 with parens</a>.</p> + +<p><a href="/url(test)" title="title">Reference link 2 with parens</a>.</p>
\ No newline at end of file diff --git a/tests/php/Quotes in attributes.text b/tests/php/Quotes in attributes.text new file mode 100644 index 0000000..9792286 --- /dev/null +++ b/tests/php/Quotes in attributes.text @@ -0,0 +1,5 @@ +[Test](/"style="color:red) +[Test](/'style='color:red) + +![](/"style="border-color:red;border-size:1px;border-style:solid) +![](/'style='border-color:red;border-size:1px;border-style:solid) diff --git a/tests/php/Quotes in attributes.xhtml b/tests/php/Quotes in attributes.xhtml new file mode 100644 index 0000000..e3fcfd2 --- /dev/null +++ b/tests/php/Quotes in attributes.xhtml @@ -0,0 +1,5 @@ +<p><a href="/"style="color:red">Test</a> +<a href="/'style='color:red">Test</a></p> + +<p><img src="/"style="border-color:red;border-size:1px;border-style:solid" alt="" /> +<img src="/'style='border-color:red;border-size:1px;border-style:solid" alt="" /></p> diff --git a/tests/php/Tight blocks.text b/tests/php/Tight blocks.text new file mode 100644 index 0000000..ae4cdcb --- /dev/null +++ b/tests/php/Tight blocks.text @@ -0,0 +1 @@ +Paragraph and no space:
* ciao
Paragraph and 1 space:
* ciao
Paragraph and 3 spaces:
* ciao
Paragraph and 4 spaces:
* ciao
Paragraph before header:
#Header
Paragraph before blockquote:
>Some quote.
\ No newline at end of file diff --git a/tests/php/Tight blocks.xhtml b/tests/php/Tight blocks.xhtml new file mode 100644 index 0000000..8655430 --- /dev/null +++ b/tests/php/Tight blocks.xhtml @@ -0,0 +1,21 @@ +<p>Paragraph and no space: +* ciao</p> + +<p>Paragraph and 1 space: + * ciao</p> + +<p>Paragraph and 3 spaces: + * ciao</p> + +<p>Paragraph and 4 spaces: + * ciao</p> + +<p>Paragraph before header:</p> + +<h1>Header</h1> + +<p>Paragraph before blockquote:</p> + +<blockquote> + <p>Some quote.</p> +</blockquote> diff --git a/tests/php/extra/Abbr.text b/tests/php/extra/Abbr.text new file mode 100644 index 0000000..ae72f4e --- /dev/null +++ b/tests/php/extra/Abbr.text @@ -0,0 +1,31 @@ +Some text about HTML, SGML and HTML4. + +Let's talk about the U.S.A., (É.U. or É.-U. d'A. in French). + +*[HTML4]: Hyper Text Markup Language version 4 +*[HTML]: Hyper Text Markup Language +*[SGML]: Standard Generalized Markup Language +*[U.S.A.]: United States of America +*[É.U.] : États-Unis d'Amérique +*[É.-U. d'A.] : États-Unis d'Amérique + +And here we have a CD, some CDs, and some other CD's. + +*[CD]: Compact Disk + +Let's transfert documents through TCP/IP, using TCP packets. + +*[IP]: Internet Protocol +*[TCP]: Transmission Control Protocol + + --- + +Bienvenue sur [CMS](http://www.bidulecms.com "Bidule CMS"). + +*[CMS]: Content Management System + + --- + +ATCCE + +*[ATCCE]: Abbreviation "Testing" Correct 'Character' < Escapes >
\ No newline at end of file diff --git a/tests/php/extra/Abbr.xhtml b/tests/php/extra/Abbr.xhtml new file mode 100644 index 0000000..8beaa2e --- /dev/null +++ b/tests/php/extra/Abbr.xhtml @@ -0,0 +1,15 @@ +<p>Some text about <abbr title="Hyper Text Markup Language">HTML</abbr>, <abbr title="Standard Generalized Markup Language">SGML</abbr> and <abbr title="Hyper Text Markup Language version 4">HTML4</abbr>.</p> + +<p>Let's talk about the <abbr title="United States of America">U.S.A.</abbr>, (<abbr title="États-Unis d'Amérique">É.U.</abbr> or <abbr title="États-Unis d'Amérique">É.-U. d'A.</abbr> in French).</p> + +<p>And here we have a <abbr title="Compact Disk">CD</abbr>, some CDs, and some other <abbr title="Compact Disk">CD</abbr>'s.</p> + +<p>Let's transfert documents through <abbr title="Transmission Control Protocol">TCP</abbr>/<abbr title="Internet Protocol">IP</abbr>, using <abbr title="Transmission Control Protocol">TCP</abbr> packets.</p> + +<hr /> + +<p>Bienvenue sur <a href="http://www.bidulecms.com" title="Bidule CMS"><abbr title="Content Management System">CMS</abbr></a>.</p> + +<hr /> + +<p><abbr title="Abbreviation "Testing" Correct 'Character' < Escapes >">ATCCE</abbr></p> diff --git a/tests/php/extra/Definition Lists.text b/tests/php/extra/Definition Lists.text new file mode 100644 index 0000000..5b3bdb6 --- /dev/null +++ b/tests/php/extra/Definition Lists.text @@ -0,0 +1,115 @@ +A simple definition list: + +Term 1 +: Definition 1 + +Term 2 +: Definition 2 + +With multiple terms: + +Term 1 +Term 2 +: Definition 1 + +Term 3 +Term 4 +: Definition 2 + +With multiple definitions: + +Term 1 +: Definition 1 +: Definition 2 + +Term 2 +: Definition 3 +: Definition 4 + +With multiple lines per definition: + +Term 1 +: Definition 1 line 1 ... +Definition 1 line 2 +: Definition 2 line 1 ... +Definition 2 line 2 + +Term 2 +: Definition 3 line 2 ... + Definition 3 line 2 +: Definition 4 line 2 ... + Definition 4 line 2 + +With paragraphs: + +Term 1 + +: Definition 1 (paragraph) + +Term 2 + +: Definition 2 (paragraph) + +With multiple paragraphs: + +Term 1 + +: Definition 1 paragraph 1 line 1 ... + Definition 1 paragraph 1 line 2 + + Definition 1 paragraph 2 line 1 ... + Definition 1 paragraph 2 line 2 + +Term 2 + +: Definition 1 paragraph 1 line 1 ... +Definition 1 paragraph 1 line 2 (lazy) + + Definition 1 paragraph 2 line 1 ... +Definition 1 paragraph 2 line 2 (lazy) + +* * * + +A mix: + +Term 1 +Term 2 + +: Definition 1 paragraph 1 line 1 ... +Definition 1 paragraph 1 line 2 (lazy) + + Definition 1 paragraph 2 line 1 ... + Definition 1 paragraph 2 line 2 + +: Definition 2 paragraph 1 line 1 ... +Definition 2 paragraph 1 line 2 (lazy) + +Term 3 +: Definition 3 (no paragraph) +: Definition 4 (no paragraph) +: Definition 5 line 1 ... + Definition 5 line 2 (no paragraph) + +: Definition 6 paragraph 1 line 1 ... +Definition 6 paragraph 1 line 2 +: Definition 7 (no paragraph) +: Definition 8 paragraph 1 line 1 (forced paragraph) ... + Definition 8 paragraph 1 line 2 + + Definition 8 paragraph 2 line 1 + +Term 4 +: Definition 9 paragraph 1 line 1 (forced paragraph) ... + Definition 9 paragraph 1 line 2 + + Definition 9 paragraph 2 line 1 +: Definition 10 (no paragraph) + +* * * + +Special cases: + +Term + +: code block + as first element of a definition
\ No newline at end of file diff --git a/tests/php/extra/Definition Lists.xhtml b/tests/php/extra/Definition Lists.xhtml new file mode 100644 index 0000000..f99f456 --- /dev/null +++ b/tests/php/extra/Definition Lists.xhtml @@ -0,0 +1,155 @@ +<p>A simple definition list:</p> + +<dl> +<dt>Term 1</dt> +<dd>Definition 1</dd> + +<dt>Term 2</dt> +<dd>Definition 2</dd> +</dl> + +<p>With multiple terms:</p> + +<dl> +<dt>Term 1</dt> +<dt>Term 2</dt> +<dd>Definition 1</dd> + +<dt>Term 3</dt> +<dt>Term 4</dt> +<dd>Definition 2</dd> +</dl> + +<p>With multiple definitions:</p> + +<dl> +<dt>Term 1</dt> +<dd>Definition 1</dd> + +<dd>Definition 2</dd> + +<dt>Term 2</dt> +<dd>Definition 3</dd> + +<dd>Definition 4</dd> +</dl> + +<p>With multiple lines per definition:</p> + +<dl> +<dt>Term 1</dt> +<dd>Definition 1 line 1 ... +Definition 1 line 2</dd> + +<dd>Definition 2 line 1 ... +Definition 2 line 2</dd> + +<dt>Term 2</dt> +<dd>Definition 3 line 2 ... +Definition 3 line 2</dd> + +<dd>Definition 4 line 2 ... +Definition 4 line 2</dd> +</dl> + +<p>With paragraphs:</p> + +<dl> +<dt>Term 1</dt> +<dd> +<p>Definition 1 (paragraph)</p> +</dd> + +<dt>Term 2</dt> +<dd> +<p>Definition 2 (paragraph)</p> +</dd> +</dl> + +<p>With multiple paragraphs:</p> + +<dl> +<dt>Term 1</dt> +<dd> +<p>Definition 1 paragraph 1 line 1 ... +Definition 1 paragraph 1 line 2</p> + +<p>Definition 1 paragraph 2 line 1 ... +Definition 1 paragraph 2 line 2</p> +</dd> + +<dt>Term 2</dt> +<dd> +<p>Definition 1 paragraph 1 line 1 ... +Definition 1 paragraph 1 line 2 (lazy)</p> + +<p>Definition 1 paragraph 2 line 1 ... +Definition 1 paragraph 2 line 2 (lazy)</p> +</dd> +</dl> + +<hr /> + +<p>A mix:</p> + +<dl> +<dt>Term 1</dt> +<dt>Term 2</dt> +<dd> +<p>Definition 1 paragraph 1 line 1 ... +Definition 1 paragraph 1 line 2 (lazy)</p> + +<p>Definition 1 paragraph 2 line 1 ... +Definition 1 paragraph 2 line 2</p> +</dd> + +<dd> +<p>Definition 2 paragraph 1 line 1 ... +Definition 2 paragraph 1 line 2 (lazy)</p> +</dd> + +<dt>Term 3</dt> +<dd>Definition 3 (no paragraph)</dd> + +<dd>Definition 4 (no paragraph)</dd> + +<dd>Definition 5 line 1 ... +Definition 5 line 2 (no paragraph)</dd> + +<dd> +<p>Definition 6 paragraph 1 line 1 ... +Definition 6 paragraph 1 line 2</p> +</dd> + +<dd>Definition 7 (no paragraph)</dd> + +<dd> +<p>Definition 8 paragraph 1 line 1 (forced paragraph) ... +Definition 8 paragraph 1 line 2</p> + +<p>Definition 8 paragraph 2 line 1</p> +</dd> + +<dt>Term 4</dt> +<dd> +<p>Definition 9 paragraph 1 line 1 (forced paragraph) ... +Definition 9 paragraph 1 line 2</p> + +<p>Definition 9 paragraph 2 line 1</p> +</dd> + +<dd>Definition 10 (no paragraph)</dd> +</dl> + +<hr /> + +<p>Special cases:</p> + +<dl> +<dt>Term</dt> +<dd> +<pre><code>code block +as first element of a definition +</code></pre> +</dd> +</dl> diff --git a/tests/php/extra/Emphasis.text b/tests/php/extra/Emphasis.text new file mode 100644 index 0000000..88e93d4 --- /dev/null +++ b/tests/php/extra/Emphasis.text @@ -0,0 +1,80 @@ +Combined emphasis: + +1. ***test test*** +2. ___test test___ +3. *test **test*** +4. **test *test*** +5. ***test* test** +6. ***test** test* +7. ***test* test** +8. **test *test*** +9. *test **test*** +10. _test __test___ +11. __test _test___ +12. ___test_ test__ +13. ___test__ test_ +14. ___test_ test__ +15. __test _test___ +16. _test __test___ + + +Incorrect nesting: + +1. *test **test* test** +2. _test __test_ test__ +3. **test *test** test* +4. __test _test__ test_ +5. *test *test* test* +6. _test _test_ test_ +7. **test **test** test** +8. __test __test__ test__ + + + +No emphasis: + +1. test* test *test +2. test** test **test +3. test_ test _test +4. test__ test __test + + + +Middle-word emphasis (asterisks): + +1. *a*b +2. a*b* +3. a*b*c +4. **a**b +5. a**b** +6. a**b**c + + +Middle-word emphasis (underscore): + +1. _a_b +2. a_b_ +3. a_b_c +4. __a__b +5. a__b__ +6. a__b__c + +my_precious_file.txt + + +## Tricky Cases + +E**. **Test** TestTestTest + +E**. **Test** Test Test Test + + +## Overlong emphasis + +Name: ____________ +Organization: ____ +Region/Country: __ + +_____Cut here_____ + +____Cut here____ diff --git a/tests/php/extra/Emphasis.xhtml b/tests/php/extra/Emphasis.xhtml new file mode 100644 index 0000000..1fa8218 --- /dev/null +++ b/tests/php/extra/Emphasis.xhtml @@ -0,0 +1,83 @@ +<p>Combined emphasis:</p> + +<ol> +<li><strong><em>test test</em></strong></li> +<li><strong><em>test test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +<li><strong>test <em>test</em></strong></li> +<li><strong><em>test</em> test</strong></li> +<li><em><strong>test</strong> test</em></li> +<li><strong><em>test</em> test</strong></li> +<li><strong>test <em>test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +<li><em>test <strong>test</strong></em></li> +<li><strong>test <em>test</em></strong></li> +<li><strong><em>test</em> test</strong></li> +<li><em><strong>test</strong> test</em></li> +<li><strong><em>test</em> test</strong></li> +<li><strong>test <em>test</em></strong></li> +<li><em>test <strong>test</strong></em></li> +</ol> + +<p>Incorrect nesting:</p> + +<ol> +<li>*test <strong>test* test</strong></li> +<li>_test <strong>test_ test</strong></li> +<li><strong>test *test</strong> test*</li> +<li><strong>test _test</strong> test_</li> +<li><em>test *test</em> test*</li> +<li><em>test _test</em> test_</li> +<li><strong>test **test</strong> test**</li> +<li><strong>test __test</strong> test__</li> +</ol> + +<p>No emphasis:</p> + +<ol> +<li>test* test *test</li> +<li>test** test **test</li> +<li>test_ test _test</li> +<li>test__ test __test</li> +</ol> + +<p>Middle-word emphasis (asterisks):</p> + +<ol> +<li><em>a</em>b</li> +<li>a<em>b</em></li> +<li>a<em>b</em>c</li> +<li><strong>a</strong>b</li> +<li>a<strong>b</strong></li> +<li>a<strong>b</strong>c</li> +</ol> + +<p>Middle-word emphasis (underscore):</p> + +<ol> +<li>_a_b</li> +<li>a_b_</li> +<li>a_b_c</li> +<li>__a__b</li> +<li>a__b__</li> +<li>a__b__c</li> +</ol> + +<p>my_precious_file.txt</p> + +<h2>Tricky Cases</h2> + +<p>E**. <strong>Test</strong> TestTestTest</p> + +<p>E**. <strong>Test</strong> Test Test Test</p> + + +<h2>Overlong emphasis</h2> + +<p>Name: ____________<br /> +Organization: ____<br /> +Region/Country: __</p> + +<p>_____Cut here_____</p> + +<p>____Cut here____</p> diff --git a/tests/php/extra/Fenced Code Blocks.text b/tests/php/extra/Fenced Code Blocks.text new file mode 100644 index 0000000..f2400ff --- /dev/null +++ b/tests/php/extra/Fenced Code Blocks.text @@ -0,0 +1,60 @@ +~~~ +Fenced +~~~ + +Code block starting and ending with empty lines: +~~~ + + +Fenced + + +~~~ + +Indented code block containing fenced code block sample: + + ~~~ + Fenced + ~~~ + +Fenced code block with indented code block sample: + +~~~ +Some text + + Indented code block sample code +~~~ + +Fenced code block with long markers: + +~~~~~~~~~~~~~~~~~~ +Fenced +~~~~~~~~~~~~~~~~~~ + +Fenced code block with fenced code block markers of different length in it: + +~~~~ +In code block +~~~ +Still in code block +~~~~~ +Still in code block +~~~~ + +Fenced code block with Markdown header and horizontal rule: + +~~~ +#test +--- +~~~ + +Fenced code block with link definitions, footnote definition and +abbreviation definitions: + +~~~ +[example]: http://example.com/ + +[^1]: Footnote def + +*[HTML]: HyperText Markup Language +~~~
\ No newline at end of file diff --git a/tests/php/extra/Fenced Code Blocks.xhtml b/tests/php/extra/Fenced Code Blocks.xhtml new file mode 100644 index 0000000..518908c --- /dev/null +++ b/tests/php/extra/Fenced Code Blocks.xhtml @@ -0,0 +1,53 @@ +<pre><code>Fenced +</code></pre> + +<p>Code block starting and ending with empty lines:</p> + +<pre><code><br /><br />Fenced + + +</code></pre> + +<p>Indented code block containing fenced code block sample:</p> + +<pre><code>~~~ +Fenced +~~~ +</code></pre> + +<p>Fenced code block with indented code block sample:</p> + +<pre><code>Some text + + Indented code block sample code +</code></pre> + +<p>Fenced code block with long markers:</p> + +<pre><code>Fenced +</code></pre> + +<p>Fenced code block with fenced code block markers of different length in it:</p> + +<pre><code>In code block +~~~ +Still in code block +~~~~~ +Still in code block +</code></pre> + +<p>Fenced code block with Markdown header and horizontal rule:</p> + +<pre><code>#test +--- +</code></pre> + +<p>Fenced code block with link definitions, footnote definition and +abbreviation definitions:</p> + +<pre><code>[example]: http://example.com/ + +[^1]: Footnote def + +*[HTML]: HyperText Markup Language +</code></pre> diff --git a/tests/php/extra/Footnotes.text b/tests/php/extra/Footnotes.text new file mode 100644 index 0000000..40192e9 --- /dev/null +++ b/tests/php/extra/Footnotes.text @@ -0,0 +1,61 @@ +This is the first paragraph.[^first] + +[^first]: This is the first note. + +* List item one.[^second] +* List item two.[^third] + +[^third]: This is the third note, defined out of order. +[^second]: This is the second note. +[^fourth]: This is the fourth note. + +# Header[^fourth] + +Some paragraph with a footnote[^1], and another[^2]. + +[^1]: Content for fifth footnote. +[^2]: Content for sixth footnote spaning on + three lines, with some span-level markup like + _emphasis_, a [link][]. + +[link]: http://www.michelf.com/ + +Another paragraph with a named footnote[^fn-name]. + +[^fn-name]: + Footnote beginning on the line next to the marker. + +This paragraph should not have a footnote marker since +the footnote is undefined.[^3] + +This paragraph should not have a footnote marker since +the footnote has already been used before.[^1] + +This paragraph links to a footnote with plenty of +block-level content.[^block] + +[^block]: + Paragraph. + + * List item + + > Blockquote + + Code block + +This paragraph host the footnote reference within a +footnote test[^reference]. + +[^reference]: + This footnote has a footnote of its own.[^nested] + +[^nested]: + This footnote should appear even though as it is refered + from another footnote. But [^reference] should be litteral + since the footnote with that name has already been used. + + - - - + +Testing unusual footnote name[^1$^!"']. + +[^1$^!"']: Haha! diff --git a/tests/php/extra/Footnotes.xhtml b/tests/php/extra/Footnotes.xhtml new file mode 100644 index 0000000..e33639d --- /dev/null +++ b/tests/php/extra/Footnotes.xhtml @@ -0,0 +1,96 @@ +<p>This is the first paragraph.<sup id="fnref:first"><a href="#fn:first" rel="footnote">1</a></sup></p> + +<ul> +<li>List item one.<sup id="fnref:second"><a href="#fn:second" rel="footnote">2</a></sup></li> +<li>List item two.<sup id="fnref:third"><a href="#fn:third" rel="footnote">3</a></sup></li> +</ul> + +<h1>Header<sup id="fnref:fourth"><a href="#fn:fourth" rel="footnote">4</a></sup></h1> + +<p>Some paragraph with a footnote<sup id="fnref:1"><a href="#fn:1" rel="footnote">5</a></sup>, and another<sup id="fnref:2"><a href="#fn:2" rel="footnote">6</a></sup>.</p> + +<p>Another paragraph with a named footnote<sup id="fnref:fn-name"><a href="#fn:fn-name" rel="footnote">7</a></sup>.</p> + +<p>This paragraph should not have a footnote marker since +the footnote is undefined.[^3]</p> + +<p>This paragraph should not have a footnote marker since +the footnote has already been used before.[^1]</p> + +<p>This paragraph links to a footnote with plenty of +block-level content.<sup id="fnref:block"><a href="#fn:block" rel="footnote">8</a></sup></p> + +<p>This paragraph host the footnote reference within a +footnote test<sup id="fnref:reference"><a href="#fn:reference" rel="footnote">9</a></sup>.</p> + +<hr /> + +<p>Testing unusual footnote name<sup id="fnref:1$^!"'"><a href="#fn:1$^!"'" rel="footnote">10</a></sup>.</p> + +<div class="footnotes"> +<hr /> +<ol> + +<li id="fn:first"> +<p>This is the first note. <a href="#fnref:first" rev="footnote">↩</a></p> +</li> + +<li id="fn:second"> +<p>This is the second note. <a href="#fnref:second" rev="footnote">↩</a></p> +</li> + +<li id="fn:third"> +<p>This is the third note, defined out of order. <a href="#fnref:third" rev="footnote">↩</a></p> +</li> + +<li id="fn:fourth"> +<p>This is the fourth note. <a href="#fnref:fourth" rev="footnote">↩</a></p> +</li> + +<li id="fn:1"> +<p>Content for fifth footnote. <a href="#fnref:1" rev="footnote">↩</a></p> +</li> + +<li id="fn:2"> +<p>Content for sixth footnote spaning on +three lines, with some span-level markup like +<em>emphasis</em>, a <a href="http://www.michelf.com/">link</a>. <a href="#fnref:2" rev="footnote">↩</a></p> +</li> + +<li id="fn:fn-name"> +<p>Footnote beginning on the line next to the marker. <a href="#fnref:fn-name" rev="footnote">↩</a></p> +</li> + +<li id="fn:block"> +<p>Paragraph.</p> + +<ul> +<li>List item</li> +</ul> + +<blockquote> + <p>Blockquote</p> +</blockquote> + +<pre><code>Code block +</code></pre> + +<p><a href="#fnref:block" rev="footnote">↩</a></p> +</li> + +<li id="fn:reference"> +<p>This footnote has a footnote of its own.<sup id="fnref:nested"><a href="#fn:nested" rel="footnote">11</a></sup> <a href="#fnref:reference" rev="footnote">↩</a></p> +</li> + +<li id="fn:1$^!"'"> +<p>Haha! <a href="#fnref:1$^!"'" rev="footnote">↩</a></p> +</li> + +<li id="fn:nested"> +<p>This footnote should appear even though as it is refered +from another footnote. But [^reference] should be litteral +since the footnote with that name has already been used. <a href="#fnref:nested" rev="footnote">↩</a></p> +</li> + +</ol> +</div> diff --git a/tests/php/extra/Inline HTML with Markdown content.text b/tests/php/extra/Inline HTML with Markdown content.text new file mode 100644 index 0000000..1eb5450 --- /dev/null +++ b/tests/php/extra/Inline HTML with Markdown content.text @@ -0,0 +1,104 @@ +# Markdown inside code blocks + +<div markdown="1"> +foo +</div> + +<div markdown='1'> +foo +</div> + +<div markdown=1> +foo +</div> + +<table> +<tr><td markdown="1">test _emphasis_ (span)</td></tr> +</table> + +<table> +<tr><td markdown="span">test _emphasis_ (span)</td></tr> +</table> + +<table> +<tr><td markdown="block">test _emphasis_ (block)</td></tr> +</table> + +## More complicated + +<table> +<tr><td markdown="1"> +* this is _not_ a list item</td></tr> +<tr><td markdown="span"> +* this is _not_ a list item</td></tr> +<tr><td markdown="block"> +* this _is_ a list item +</td></tr> +</table> + +## With indent + +<div> + <div markdown="1"> + This text is no code block: if it was, the + closing `<div>` would be too and the HTML block + would be invalid. + + Markdown content in HTML blocks is assumed to be + indented the same as the block opening tag. + + **This should be the third paragraph after the header.** + </div> +</div> + +## Code block with rogue `</div>`s in Markdown code span and block + +<div> + <div markdown="1"> + + This is a code block however: + + </div> + + Funny isn't it? Here is a code span: `</div>`. + + </div> +</div> + +<div> + <div markdown="1"> + * List item, not a code block + +Some text + + This is a code block. + </div> +</div> + +## No code block in markdown span mode + +<p markdown="1"> + This is not a code block since Markdown parse paragraph + content as span. Code spans like `</p>` are allowed though. +</p> + +<p markdown="1">_Hello_ _world_</p> + +## Preserving attributes and tags on more than one line: + +<p class="test" markdown="1" +id="12"> +Some _span_ content. +</p> + + +## Header confusion bug + +<table class="canvas"> +<tr> +<td id="main" markdown="1">Hello World! +============ + +Hello World!</td> +</tr> +</table> diff --git a/tests/php/extra/Inline HTML with Markdown content.xhtml b/tests/php/extra/Inline HTML with Markdown content.xhtml new file mode 100644 index 0000000..4751f78 --- /dev/null +++ b/tests/php/extra/Inline HTML with Markdown content.xhtml @@ -0,0 +1,125 @@ +<h1>Markdown inside code blocks</h1> + +<div> + +<p>foo</p> + +</div> + +<div> + +<p>foo</p> + +</div> + +<div> + +<p>foo</p> + +</div> + +<table> +<tr><td>test <em>emphasis</em> (span)</td></tr> +</table> + +<table> +<tr><td>test <em>emphasis</em> (span)</td></tr> +</table> + +<table> +<tr><td> + +<p>test <em>emphasis</em> (block)</p> + +</td></tr> +</table> + +<h2>More complicated</h2> + +<table> +<tr><td> +* this is <em>not</em> a list item</td></tr> +<tr><td> +* this is <em>not</em> a list item</td></tr> +<tr><td> + +<ul> +<li>this <em>is</em> a list item</li> +</ul> + +</td></tr> +</table> + +<h2>With indent</h2> + +<div> + <div> + +<p>This text is no code block: if it was, the +closing <code><div></code> would be too and the HTML block +would be invalid.</p> + +<p>Markdown content in HTML blocks is assumed to be +indented the same as the block opening tag.</p> + +<p><strong>This should be the third paragraph after the header.</strong></p> + +</div> +</div> + +<h2>Code block with rogue <code></div></code>s in Markdown code span and block</h2> + +<div> + <div> + +<p>This is a code block however:</p> + +<pre><code></div> +</code></pre> + +<p>Funny isn't it? Here is a code span: <code></div></code>.</p> + +</div> +</div> + +<div> + <div> + +<ul> +<li>List item, not a code block</li> +</ul> + +<p>Some text</p> + +<pre><code>This is a code block. +</code></pre> + +</div> +</div> + +<h2>No code block in markdown span mode</h2> + +<p> + This is not a code block since Markdown parse paragraph + content as span. Code spans like <code></p></code> are allowed though. +</p> + +<p><em>Hello</em> <em>world</em></p> + +<h2>Preserving attributes and tags on more than one line:</h2> + +<p class="test" +id="12"> +Some <em>span</em> content. +</p> + +<h2>Header confusion bug</h2> + +<table class="canvas"> +<tr> +<td id="main">Hello World! +============ + +Hello World!</td> +</tr> +</table>
\ No newline at end of file diff --git a/tests/php/extra/Tables.text b/tests/php/extra/Tables.text new file mode 100644 index 0000000..71b93ca --- /dev/null +++ b/tests/php/extra/Tables.text @@ -0,0 +1,104 @@ +# Simple tables + +Header 1 | Header 2 +--------- | --------- +Cell 1 | Cell 2 +Cell 3 | Cell 4 + +With leading pipes: + +| Header 1 | Header 2 +| --------- | --------- +| Cell 1 | Cell 2 +| Cell 3 | Cell 4 + +With tailing pipes: + +Header 1 | Header 2 | +--------- | --------- | +Cell 1 | Cell 2 | +Cell 3 | Cell 4 | + +With leading and tailing pipes: + +| Header 1 | Header 2 | +| --------- | --------- | +| Cell 1 | Cell 2 | +| Cell 3 | Cell 4 | + +* * * + +# One-column one-row table + +With leading pipes: + +| Header +| ------- +| Cell + +With tailing pipes: + +Header | +------- | +Cell | + +With leading and tailing pipes: + +| Header | +| ------- | +| Cell | + +* * * + +Table alignement: + +| Default | Right | Center | Left | +| --------- |:--------- |:---------:| ---------:| +| Long Cell | Long Cell | Long Cell | Long Cell | +| Cell | Cell | Cell | Cell | + +Table alignement (alternate spacing): + +| Default | Right | Center | Left | +| --------- | :-------- | :-------: | --------: | +| Long Cell | Long Cell | Long Cell | Long Cell | +| Cell | Cell | Cell | Cell | + +* * * + +# Empty cells + +| Header 1 | Header 2 | +| --------- | --------- | +| A | B | +| C | | + +Header 1 | Header 2 +--------- | --------- +A | B + | D + +* * * + +# Missing tailing pipe + +Header 1 | Header 2 +--------- | --------- | +Cell | Cell | +Cell | Cell | + +Header 1 | Header 2 | +--------- | --------- +Cell | Cell | +Cell | Cell | + +Header 1 | Header 2 | +--------- | --------- | +Cell | Cell +Cell | Cell | + +Header 1 | Header 2 | +--------- | --------- | +Cell | Cell | +Cell | Cell + diff --git a/tests/php/extra/Tables.xhtml b/tests/php/extra/Tables.xhtml new file mode 100644 index 0000000..e36286c --- /dev/null +++ b/tests/php/extra/Tables.xhtml @@ -0,0 +1,310 @@ +<h1>Simple tables</h1> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell 1</td> + <td>Cell 2</td> +</tr> +<tr> + <td>Cell 3</td> + <td>Cell 4</td> +</tr> +</tbody> +</table> + +<p>With leading pipes:</p> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell 1</td> + <td>Cell 2</td> +</tr> +<tr> + <td>Cell 3</td> + <td>Cell 4</td> +</tr> +</tbody> +</table> + +<p>With tailing pipes:</p> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell 1</td> + <td>Cell 2</td> +</tr> +<tr> + <td>Cell 3</td> + <td>Cell 4</td> +</tr> +</tbody> +</table> + +<p>With leading and tailing pipes:</p> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell 1</td> + <td>Cell 2</td> +</tr> +<tr> + <td>Cell 3</td> + <td>Cell 4</td> +</tr> +</tbody> +</table> + +<hr /> + +<h1>One-column one-row table</h1> + +<p>With leading pipes:</p> + +<table> +<thead> +<tr> + <th>Header</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> +</tr> +</tbody> +</table> + +<p>With tailing pipes:</p> + +<table> +<thead> +<tr> + <th>Header</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> +</tr> +</tbody> +</table> + +<p>With leading and tailing pipes:</p> + +<table> +<thead> +<tr> + <th>Header</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> +</tr> +</tbody> +</table> + +<hr /> + +<p>Table alignement:</p> + +<table> +<thead> +<tr> + <th>Default</th> + <th align="left">Right</th> + <th align="center">Center</th> + <th align="right">Left</th> +</tr> +</thead> +<tbody> +<tr> + <td>Long Cell</td> + <td align="left">Long Cell</td> + <td align="center">Long Cell</td> + <td align="right">Long Cell</td> +</tr> +<tr> + <td>Cell</td> + <td align="left">Cell</td> + <td align="center">Cell</td> + <td align="right">Cell</td> +</tr> +</tbody> +</table> + +<p>Table alignement (alternate spacing):</p> + +<table> +<thead> +<tr> + <th>Default</th> + <th align="left">Right</th> + <th align="center">Center</th> + <th align="right">Left</th> +</tr> +</thead> +<tbody> +<tr> + <td>Long Cell</td> + <td align="left">Long Cell</td> + <td align="center">Long Cell</td> + <td align="right">Long Cell</td> +</tr> +<tr> + <td>Cell</td> + <td align="left">Cell</td> + <td align="center">Cell</td> + <td align="right">Cell</td> +</tr> +</tbody> +</table> + +<hr /> + +<h1>Empty cells</h1> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>A</td> + <td>B</td> +</tr> +<tr> + <td>C</td> + <td></td> +</tr> +</tbody> +</table> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>A</td> + <td>B</td> +</tr> +<tr> + <td></td> + <td>D</td> +</tr> +</tbody> +</table> + +<hr /> + +<h1>Missing tailing pipe</h1> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +</tbody> +</table> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +</tbody> +</table> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +</tbody> +</table> + +<table> +<thead> +<tr> + <th>Header 1</th> + <th>Header 2</th> +</tr> +</thead> +<tbody> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +<tr> + <td>Cell</td> + <td>Cell</td> +</tr> +</tbody> +</table>
\ No newline at end of file diff --git a/tests/php/extra/test.cfg b/tests/php/extra/test.cfg new file mode 100644 index 0000000..9c10984 --- /dev/null +++ b/tests/php/extra/test.cfg @@ -0,0 +1,6 @@ +[DEFAULT] +extensions=extra +normalize=1 +input_ext=.text +output_ext=.xhtml +skip=1 diff --git a/tests/php/test.cfg b/tests/php/test.cfg new file mode 100644 index 0000000..645d72b --- /dev/null +++ b/tests/php/test.cfg @@ -0,0 +1,5 @@ +[DEFAULT] +normalize=1 +input_ext=.text +output_ext=.xhtml +skip=1 |