summaryrefslogtreecommitdiff
path: root/tests/extensions
Commit message (Collapse)AuthorAgeFilesLines
* Port all smarty tests to the new frameworkHEADmasterDmitry Shachnev2023-05-162-72/+0
|
* Update th/td to use style attributeGaige B Paulsen2022-05-052-635/+0
| | | | | | | | | | This allows better interoperation with CSS style sheets, as the align object on the TH is skipped if the css uses 'text-align: inherit' and the previous 'text-align' is used instead (or the default: left). Added an override to restore the original `align` behavior Moved existing tests to the new test infrastructure Added new tests to test the configuration parameter Updated documentation to document the configuration parameter.
* Refactor HTML Parser (#803)Waylan Limberg2020-09-224-24/+5
| | | | | | | | | | The HTML parser has been completely replaced. The new HTML parser is built on Python's html.parser.HTMLParser, which alleviates various bugs and simplifies maintenance of the code. The md_in_html extension has been rebuilt on the new HTML Parser, which drastically simplifies it. Note that raw HTML elements with a markdown attribute defined are now converted to ElementTree Elements and are rendered by the serializer. Various bugs have been fixed. Link reference parsing, abbreviation reference parsing and footnote reference parsing has all been moved from preprocessors to blockprocessors, which allows them to be nested within other block level elements. Specifically, this change was necessary to maintain the current behavior in the rebuilt md_in_html extension. A few random edge-case bugs (see the included tests) were resolved in the process. Closes #595, closes #780, closes #830 and closes #1012.
* Tune attr list regexWaylan Limberg2020-06-302-22/+0
| | | | | | | | | | | Ignore empty braces. Braces must contain at least one non-whitepsace character to be recognized as an attr list. Attr lists for table cells must be at the end of the cell content and must be seperated from the content by at least one space. This appears to be a breaking change. However, it is consistent with the behavior elsewhere. Fixes #898.
* Refactor fenced_code & codehilite options (#816)Waylan Limberg2020-06-233-68/+2
| | | | | | | | | | | | | | | | | | | | * Add `language-` prefix to output when syntax highlighting is disabled for both codehilite and fenced_code extensions. * Add `lang_prefix` config option to customize the prefix. * Add a 'pygments' env to tox which runs the tests with Pygments installed. Pygments is locked to a specific version in the env. * Updated codehilite to accept any Pygments options. * Refactor fenced code attributes. - ID attr is defined on `pre` tag. - Add support for attr_list extension, which allows setting arbitrary attributes. - When syntax highlighting is enabled, any pygments options can be defined per block in the attr list. - For backward compatibility, continue to support `hi_lines` outside of an attr_list. That is the only attr other than lang which is allowed without the brackets (`{}`) of an attr list. Note that if the brackets exist, then everything, including lang and hl_lines, must be within them. * Resolves #775. Resolves #334. Addresses #652.
* Fix typo, in the ten cut and pasted versionsCharles Merriam2020-04-194-8/+8
|
* foot note adjustments (#728)Isaac Muse2018-10-097-2431/+2431
| | | | | | Add a config to set the footnote separator. Also remove rel/rev as they aren't really compatible with HTML5 and we already have classes set for refs and backrefs. Fixes 723.
* Remove lazy_ol keyword. Use sane_lists extension instead.Waylan Limberg2018-07-312-1/+22
| | | | This was adapted from 11408e50 of the md3 branch.
* Add the possibility to set additional classesWhiteWinterWolf2018-07-242-0/+17
| | | | | | | | | | | | | | | | | Additional CSS classes names can be appended to the admonition name using spaces as separators. The following markdown: !!! note floatright This is a floating note. Generates the following HTML code: <div class="admonition note floatright"> <p class="admonition-title">Note</p> <p>This is a floating note.</p> </div>
* Correct spelling mistakes.Edward Betts2018-01-136-6/+6
|
* Switch from nose to unittestWaylan Limberg2018-01-082-109/+0
| | | | | | | | | | | | | | | All file-based tests are now defined as unittest test cases via a metaclass which walks a directory and builds a unittest for each pair of test files. To run the tests just run `python -m unittest discover tests`. Or use tox as the tox config has been updated to run the new tests and all nose specific code has been removed. The test generator tools have been removed as well. If any changes or additions need to be made to tests, they should be implemented using the new framework rather than with the file-based tests. Eventually, only the PHP and pl tests should remain as file-based tests.
* 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.
* 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 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.
* Better inline code escaping (#533)Isaac Muse2017-01-202-1/+27
| | | | | 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-192-1/+104
| | | | | | | 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-233-5/+8
|\
| * 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 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
|
* 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 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.
* No `=` in key or value of attr lists.Waylan Limberg2015-02-242-1/+19
| | | | Fixes #389. Thanks for the report @lazka.
* 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.
* Issue #368: Fix Markdown in raw HTML stops workingfacelessuser2014-11-192-3/+24
| | | | | | | Originally there was an infinite loop issue that was patched in issue #308. Unfortunately, it was fixed all the way. This fix patches the infinite loop fix to only add an offset to the `right_listindex` when it is in a infinite loop scenario.
* Code Blocks must always be AtomicStringsWaylan Limberg2014-09-082-2/+11
| | | | | | | | | | | | | | | | | | Fixes #340. The "inline" TreeProcessor runs before the "prettify" TreeProcessor, but the "smarty" TreeProcessor (wich is just another instance of `InlineProcessor`) runs after the "prettify" TreeProcessor. The problem was that the "prettify" TreeProcessor was losing the AtomicString quality of the text of code blocks (any operation on a string creates a new string. When that string is an AtomicString, the new string must explicitly be declared as an AtomicString. As the "prettify" TreeProcessor cleans up newlines on code blocks, it was changing the AtomicString to a normal string. And as `InlineProcessor` identifies what elements to skip solely by whether the text is an AtomicString, the "smarty" instance was running on code blocks. Importantly, I added a test of code blocks and spans for smarty, so this shouldn't break again.
* More updates to test configs.Waylan Limberg2014-08-293-0/+22
| | | | | | | | | | | | | | The last few extensions were updated to accept dicts/**kwargs as configs and more tests were updated. Also updated extra to actually accept configs. Note that extra requires an extra level of dicts. First you need to indicate tha the settings are for extra, then, which extension extra wraps. I'm not crazy abount this, bit not sur ehow else to do it without making all the configs a global attribute on the Markdown class to that any extention can access any other extensions config settings. I don't think we wnat to do that. Also updated extra to use dot notation for the sub-extensions.
* All extension tests now use python dot notation.Waylan Limberg2014-08-292-28/+28
| | | | | | | | | | All named extensions now use python dot notation in the tests - including all builtin extensions (eg: 'extra' => 'markdown.extensions.extra'). This is in anticipation of #336. Note there are a few tests (in the error tests) that will still need updating, but not till we make the change as they will test for the new error message.
* Refactored test framework to use YAML config files rather than INI. Fixes #333.Waylan Limberg2014-08-202-44/+78
|
* Fixed an old typo in the smarty extension and added a test case.Martin Altmayer2014-08-112-1/+3
|
* 100% test coverage of admonitionsWaylan Limberg2014-07-102-0/+2
|
* smarty: add support for angled quotesDmitry Shachnev2014-06-193-1/+6
| | | | See <http://en.wikipedia.org/wiki/Guillemet>.
* Add failing unit test for smarty: ellipsis before close double quote ↵Lawrence Kesteloot2014-05-312-0/+3
| | | | generates opening double quote.
* Merge pull request #311 from mitya57/masterWaylan Limberg2014-05-261-1/+1
|\ | | | | Make smarty extension work together with attr_list
| * Add smarty to extensions for attr_list testDmitry Shachnev2014-05-061-1/+1
| | | | | | | | To make it easier to notice (and fix) the failure.
* | Fix issue308 and fix (unrelated) failure to break out of nest loop.ryneeverett2014-05-212-1/+14
|/