aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Provide new testing framework.Waylan Limberg2018-01-086-0/+1305
| | | | | | | | | | | | | | | | | | As a part of the Markdown lib, test tools can be used by third party extensions. Also keeps test dir clean as it only contains actual tests. More work in this vein to come as the need for Nose is removed. Tests are defined as Unittests rather than in text files allowing features to be more easily broken into units and run individually. Based completely on standard lib unittest with no external dependencies. Use `python -m unittest tests.test_syntax` to run. Pulled some tests from https://github.com/karlcow/markdown-testsuite. Many more test units to pull from that source. As we encounter the need to edit an existing textfile-based test, or add a new test, a new test should be created with this framework and the old test should be deleted. Also need to delete existing testfile-based tests which are covered in the new tests included here.
* Fix raw html reference issue (#585)Isaac Muse2018-01-042-0/+186
| | | | | | | | | | | | | | Preserve the line which a reference was on to prevent raw HTML indexing issue. Fixes #584. Prevent raw HTML parsing issue in abbr and footnotes Peserve abbreviation line when stripping and preserve a line for each footnote block. Footnotes should also accumulate the extraneous padding. Test extra lines at the end of references Strip the gathered extraneous whitespace When processing footnotes, we don't actually care to process the extra whitespace at the end of a footnote, but we want it to calculate lines to preserve.
* Warnings should cause tests to fail.Waylan Limberg2018-01-041-0/+7
|
* Switch docs to MKDocs (#602)Waylan Limberg2017-12-062-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #601. Merged in 6f87b32 from the md3 branch and did a lot of cleanup. Changes include: * Removed old docs build tool, templates, etc. * Added MkDocs config file, etc. * filename.txt => filename.md * pythonhost.org/Markdown => Python-Markdown.github.io * Markdown lint and other cleanup. * Automate pages deployment in makefile with `mkdocs gh-deploy` Assumes a git remote is set up named "pages". Do git remote add pages https://github.com/Python-Markdown/Python-Markdown.github.io.git ... before running `make deploy` the first time.
* Feature ancestry (#598)Isaac Muse2017-11-231-0/+52
| | | | | Ancestry exclusion for inline patterns. Adds the ability for an inline pattern to define a list of ancestor tag names that should be avoided. If a pattern would create a descendant of one of the listed tag names, the pattern will not match. Fixes #596.
* Added footnote BACKLINK_TEXT test.Waylan Limberg2017-03-081-0/+24
|
* Loosen whitespace requirements for admonitions.Waylan Limberg2017-03-052-0/+16
| | | | | | | Also consume to the end of the first line of any admonition. Everything after the title is discarded. However, the only thing that will match should be whitespace so it should be a non-issue. Fixes #550.
* Fix regression of single column tables (#540)Isaac Muse2017-01-262-2/+129
| | | | | | Single column tables are valid tables, so add back in the accidentally removed functionality of allowing single column tables, but with one exception -- table bodies should not render empty (an empty `<tbody>` is invalid HTML. Fixes #539.
* Fix HTML parse with empty lines (#537)Isaac Muse2017-01-242-0/+22
| | | | | | | If both open and close was not found in first block, additional blocks were evaluated without context of previous blocks. The algorithm needs to evaluate a buffer with the left bracket present. So feed in all items and get the right bracket, then adjust the data_index to be relative to the last block. Fixes #452.
* Fix footnote parsing of footnote content (#536)Isaac Muse2017-01-232-0/+58
| | | | | | | Fixes #412 and #493. First we parse footnote content as its own document avoid quirks with using li as a parent. Second, we surround placeholders with STX and ETX to prevent them from interfering with inline parsing; this is also consistent with how placeholders are used everywhere else in Python Markdown.
* Create additional references for duplicate footnotes (#534)Isaac Muse2017-01-232-0/+22
| | | | | | Track when we find duplicate footnote references and create unique ids for them. Then add an additional tree-processor after inline to go back and update the footnotes with additional back references that link to the duplicate footnote references. Fixes #468.
* Fix hr recursion issue (#535)Isaac Muse2017-01-232-0/+15
| | | | | | | HRProcessor tried to access a member variable after recursively calling itself. In certain situations HRProcessor will try to access its member variable containing its match, but it will not be the same match that call in the stack expected. This is easily fixed by storing the match locally *before* doing any recursive work.
* Better inline code escaping (#533)Isaac Muse2017-01-204-5/+33
| | | | | This aims to escape code in a more expected fashion. This handles when backticks are escaped and when the escapes before backticks are escaped.
* Tables: Improvements (#530)Isaac Muse2017-01-193-1/+116
| | | | | | | Tables now handle escaped pipes when testing, in table borders, and in the inline content. To achieve properly, a bug had to be fixed related to appending escaped chars to the Markdown class. Now appended chars only appear in the current instance. Lastly the first backtick in a table can be escaped rounding out the last corner case.
* Better handling of backticks in tables (#524)Isaac Muse2017-01-112-1/+40
| | | | At some point the logic of counting backticks and determining if they are odd or even was used to parse a row's text into cells. Unfortunately this approach broke expected code parsing logic in a table. We essentially traded one bug for another. This fixes table backtick handling and restores sane backtick logic while preserving existing fixes. (issue #449)
* lists are not tables - fixes #478 (#507)Adam Wood2016-10-262-3/+13
|
* No need to test the same thing twice.Waylan Limberg2016-09-232-5/+2
| | | | Related to #498.
* Merge branch 'master' of https://github.com/waylan/Python-MarkdownWaylan Limberg2016-09-235-7/+16
|\
| * Fix table alignment when seperator contains spaces (#489)eph2016-08-151-4/+4
| | | | | | | | | | | | | | | | | | | | * Fix table alignment when seperator contains spaces eg. seperator like "------ | :----- | :----: | -----: | ------" * Update tests for table * Delete the newline at the end of tables.html
| * Fix image titles not following specfacelessuser2016-07-262-2/+8
| | | | | | | | | | Don’t allow spaces in image links. This was also causing an issue where any text following a space was treated as a title. Ref #484.
| * Fix another issue with attribute lists (with multiple ‘=’ signs)Dmitry Shachnev2016-06-132-0/+3
| |
* | Don't allow equal signs in attr_list keys.Waylan Limberg2016-09-232-1/+4
|/ | | | | | This will probably not result in the output intending by the author, but the syntax would be incorrect so the author needs to edit the document anyway. We just need to ensure the parser does not crash here. Fixes #498.
* Attribute lists are not permitted to contain newlines. Fixes #482.Waylan Limberg2016-06-122-1/+5
|
* Test if fenced_code honors CodeHilite option use_pygmentsMartin Morgenstern2016-04-111-0/+12
|
* Add single inline code toc testsStephan Groß2016-03-171-4/+33
|
* Add toc permalink testsStephan Groß2016-03-171-0/+28
|
* Add failing toc testStephan Groß2016-03-171-0/+15
|
* Make TestCodeHilite work with Pygments ≥ 2.1.1Dmitry Shachnev2016-03-031-3/+3
| | | | | | | | New versions of Pygments insert <span></span> blocks in the beginning of the generated output sometimes [1], so we need to remove those blocks before doing the actual checking. [1]: https://bitbucket.org/birkenfeld/pygments-main/commits/164574c13533
* Fix for exceptions handling in HtmlOutput’s formatErr methodDmitry Shachnev2016-03-031-0/+2
| | | | | | | Now it should no longer print internal errors instead of intended ones on Python 3. Thanks to Maurice van der Pot for finding this fix.
* Added a few empty lines in the test to satisfy flake8Maurice van der Pot2016-02-271-0/+3
|
* Added assertStartsWith to tests to give better failure messagesMaurice van der Pot2016-02-271-27/+37
| | | | | The failure printed when self.assertTrue was used with str.startswith did not show the string that was being searched.
* Enabled pygments based tests.Waylan Limberg2016-01-281-35/+12
| | | | | | Added pygments to test-requirements and updated codehiliting tests to only test partial output as output differs depending on Pygments version. Fixes #453
* Add a failing testcase for issue #440.Dmitry Shachnev2015-11-072-1/+22
|
* Ensure InlinePatterns don't drop newlines.Waylan Limberg2015-11-062-1/+6
| | | | | | Drppoed the non-greedy quantifier from the end of the inlinePatterns as it served no useful purpose and was actually (in very rare edge cases) causing newlines to be dropped. FIxes #439. Thanks to @munificent for the report.
* Fixed handling of table cell splitMustafa Haddara2015-10-243-2/+85
|
* Fix infinite loop #430facelessuser2015-09-042-1/+12
| | | | | | | | | This should fix the remaining corner cases that can cause infinite loops. Previous iterations did not account for scenarios where the “end” index was less than the “start” index. If the “end” index is ever less than or equal to the “start” index, the “end” will be adjusted to to be “start” + 1 allow the full range to be extracted and replaced.
* Fix find footnote placeholder to recurseGustav Tiger2015-08-292-0/+18
|
* Add a test for duplicate angled quotes without smarty extensionDmitry Shachnev2015-06-202-1/+4
|
* Add a test to make sure quotes processor does not touch code blocksDmitry Shachnev2015-06-192-2/+2
|
* tests: Add a failing case for `<<Hello>>` to smarty testDmitry Shachnev2015-06-152-0/+2
|
* updated tables testpieterprovoost2015-04-062-2/+11
|
* added support for zero row tablespieterprovoost2015-04-051-0/+3
|
* smarty: Add back special case for decade abbreviationsDmitry Shachnev2015-03-182-6/+6
| | | | | | | | | | The previous version did not work, and was incorrectly removed as part of 85ad18071d619251. In the new version, use lookbehind search for \w instead of \b, so that it works. Update the tests accordingly. Fixes #399 (except parts that we can't fix). Thanks @gandaro for the report.
* Removed `yaml` option from meta-data extension.Waylan Limberg2015-03-081-20/+0
| | | | | The option was buggy. Rather than try to fix it, it is being removed. This feeture should exist as a seperate extension. Fixes #390.
* No `=` in key or value of attr lists.Waylan Limberg2015-02-242-1/+19
| | | | Fixes #389. Thanks for the report @lazka.
* Added a 'use_pygments' config option to CodeHilite.Waylan Limberg2015-02-051-0/+11
| | | | | | | | | Fixes #386. I'm doing this against my better judgement. The only reason is that I'm using the HTML format suggested by the HTML5 Spec and will simply not consider any alternate output. If a JavaScript library requires something else, to bad. I don't care. That library should support the format suggested by the spec or I'm not interested in it. If you want something else then you can create your own extension which does whatever you want.
* Only log warnings from commandline script.Waylan Limberg2015-01-311-3/+2
| | | | | | | | | I need to remember this is a lib first and not configure logging from within the lib. Also, from the script we are now actually displaying deprecation warnings. For some reason I don't understnad deprecation warnings are hidden by default in Python. And who remembers to run Python with the `-Wd` flag every time they upgrade a lib just to make sure there's no new deprecations? Fixes #384.
* HeaderId Extension marked as Pending Deprecation.Waylan Limberg2015-01-011-54/+105
| | | | | | | | | | | | | | | | | | | | Use the Table of Contents Extension instead. The HeaderId Extension will raise a PendingDeprecationWarning. The last few features of the HeaderID extension were mirgrated to TOC including the baselevel and separator config options. Also, the marker config option of TOC can be set to an empty string to disable searching for a marker. The `slugify`, `unique` and `stashedHTML2text` functions are now defined in the TOC extension in preperation for the HeaderId extension being removed. All coresponding tests are now run against the TOC Extension. The meta-data support of the HeaderId Extension was not migrated and no plan exists to make that migration. The `forceid` config option makes no sense in the TOC Extension and the only other config setting supported by meta-data was the `header_level`. However, as that depends on the template, it makes more sense to not be defined at the document level.
* PendingDeprecationWarning (v2.5) => DeprecationWarning (v2.6)Waylan Limberg2014-12-301-6/+6
|
* Preserve order of nested headers in TOCWaylan Limberg2014-12-303-0/+53
| | | | | | | | | Fixes #380. The TOC replacement is now seperate from building the TOC, which allows us to iter through the doc in order rather than with the non-order-preserving interparent pethod. This is almost a complete refactor of the run method. Also cleaned up the config stuff. Thanks to @colewerner for the report and test case.