test


Log

Author Commit Date CI Message
Martin Mitáš d7920b9c 2019-04-08T19:35:06 Merge pull request #67 from mity/spec-0.29 This merges all changes for CommonMark specification 0.28 -> 0.29 transition.
Martin Mitas 5b78f295 2019-04-08T11:00:27 test/spec.txt: Update from upstream head.
Martin Mitas 2a7b97ed 2019-04-05T08:18:54 test/spec.txt: Update from upstream head.
Martin Mitas b8586987 2019-04-03T08:28:27 md_collect_mark: Add missing 'continue' to '~' branch. Fixes #69.
Martin Mitas 855a1bfc 2019-03-27T02:04:24 test/spec.txt: Update from upstream head.
Martin Mitas 94c86fe2 2019-03-26T14:45:23 Revert "Fix problematic link destinations with angle brackets." The updated specification now explicitly requests the behavior we implemented before fixing #24. This reverts commit 2e0a74ba990e291ef4eace047d50af05ca81daef. Also remove associated regression test as it is no longer valid.
Martin Mitas 0959975a 2019-03-26T14:01:02 md_analyze_emph: Follow specs changes to the "rule of three".
Martin Mitas 98968e22 2019-03-26T13:33:05 Update spec.txt from upstream head. (I previously used an updated revision of it by mistake.)
Martin Mitas 1edd0c9c 2019-03-26T11:49:25 test/spec.txt: Update to current upstream HEAD.
Martin Mitas 2dd96ab4 2019-03-12T09:56:11 Fix O(n^2) in handling the "rule of three". We had to break the list of potential '*' openers into multiple ones so we do not have to walk it when looking for matching length due to the "rule of three" for intraword delimiter runs. Fixes #63.
Martin Mitas b2108652 2019-03-11T21:13:15 md_analyze_line: Fix O(n^2) in thematic break handling. Fixes #66.
Martin Mitas 37104fc2 2019-03-11T20:26:58 md_is_code_span: Fix crash at EOF. Fixes #65.
Martin Mitas 966b8e39 2019-03-11T19:56:46 md_is_link_title: Stop on ')' lin ()-style title. Fixes #60.
Martin Mitas fc27108e 2019-03-11T19:55:08 test/pathological_tests.py: Output test durations.
Martin Mitas 53f65852 2019-03-11T19:03:34 test/spec.txt: Little update. Somehow we were having little different spec.txt version that the one from CommonMark repo tag 0.28. But we still pass all its compliance test suite.
Martin Mitas 685b7144 2019-03-10T11:20:39 Move codespan detection from md_analyze_backtick() into... md_is_code_span(), called from md_collect_marks(). We have to do this at the same time as detecting raw inline HTML to follow CommonMark priority requirements. Also it is done very differently now: When scanning for the closer mark, we remember (the latest) position of potential closers for all other lengths as well. This means that: (1) If we find it, we reduced the task because all subsequent scan shall begin after the closer. (2) If we do not find it, then we have to reach the end of the block and hence we then know (for every allowed marker length) the position of last such backtick sequence. (3) That makes the guaranty that any subsequent call with either succeed in its scan (and reduce the task even further); or that we shall be able to detect instantly there is no suitable closer. I.e. every call either reduces the task by O(n) scan (1); or collects all the data in O(n) because (2) happens at most once; or fails in O(1) (3). This makes O(n) guaranty of the function complexity. Fixes #59.
Martin Mitas 0cb61205 2019-03-10T10:50:23 Move raw inline HTML detection from md_analyze_lt_qt() into md_collect_marks(). Fixes #58: For resolving raw inline HTML the function tried closer with all potential openers, because raw HTML can have '<' inside of an attribute. However this caused O(n^2) for input like "<><><><><><><>...". We solved by handling raw HTML in earlier stage, directly in md_collect_marks(), where we can scan linerary forward. Fixes #61: As a side effect, this also fixes the issue that MD_FLAG_NOHTMLSPANS disabled also recognition of CommonMark autolinks.
Martin Mitáš 8e01a769 2019-02-10T22:58:42 Implement task lists. (#50) Fixes #30.
Martin Mitas d32aa2e0 2019-02-09T10:40:52 Fix conflict in parsing permissive autolinks and ordinary links. The issues is caused by the fact that we do not know exact position of permissive auto-link in time of md_collect_marks() because there is no syntax to mark its end on the 1st place. This causes that eventually, the closer mark in ctx->marks[] can be out-of-order somewhat. As a consequence, if some other mark range (e.g. ordinary link) shadows the auto-link, the closer mark may be left outside the shadowed range and survive till the phase when we generate the output. We fix by using an extra mark flag to remember we did really output the opener mark, and output the closer only in such case. Fixes #53.
Martin Mitas 67401e70 2019-02-06T04:31:25 md_analyze_inlines: Resolve table cell boundaries before links. This brings some corner cases closer to cmark-gfm. Also fixes #51.
Martin Mitas 8fc692ba 2018-06-11T18:17:26 md_rollback: Do not touch TABLECELLBOUNDARIES chain. This chain is not normal opener/closer inline mark chain. Fixes #42.
Martin Mitas e6e2ea4c 2018-06-11T11:43:47 md_analyze_line: Fix mixing list and table parsing. If table header underline is not nested the same way as the preceding line (i.e. the wannabe table header line), then it cannot form a table. Fixes #41.
Martin Mitas 4ef024fb 2018-05-29T23:30:02 md_process_inlines: Fix link/image closers spanning over multiple lines. Fixes #40.
Martin Mitas 7deaccf6 2018-05-29T18:32:10 md_is_link_label: Fix if the link label contains just backslash escapes. The function did not remember the label start line index, leading to bad consequences. Fixes #39.
Martin Mitas bf022cb6 2018-05-28T21:14:45 Fix md_split_simple_pairing_mark(). When splitting a mark into two, make sure each of them gets the right share od dummies for case that we will have to split once more. Fixes #36.
Martin Mitas e7b84d65 2018-05-28T21:09:32 pathological_tests.py: Fix test compatibility with Windows.
Martin Mitas 81e2a5ca 2018-04-12T17:03:37 pathological_tests.py: Test deeply nested lists.
Martin Mitas 0d1a41a4 2018-03-28T08:21:21 md_build_attr_append_substr: Fix +1 allocation error. Fixes #33.
Martin Mitas 19b24bdd 2017-08-16T18:15:19 Simplify the pathological test "many references".
Martin Mitas 07cec7dc 2017-08-16T16:34:50 Add regression test for #24.
Martin Mitas ee3bee1a 2017-08-02T00:37:18 Upgrade to CommonMark specification 0.28.
Martin Mitas 938460d5 2017-07-24T21:17:53 Improve/unify output of test scripts.
Martin Mitas c52a50a3 2017-07-24T21:07:09 pathological_tests.py: Add test for reference definition lookup.
Martin Mitas c51fb310 2017-07-24T23:14:05 md_analyze_marks: Walk only required range of the marks. This changes causes that when recursing to analysis of link contents, only the marks between the link opener and closer are iterated in md_analyze_marks(). Fixes #22
Martin Mitas a27aefde 2017-07-24T20:17:50 pathological_tests.py: Allow short option -p as a synonym of --program.
Martin Mitas f4f7b223 2017-07-24T20:15:09 pathological_tests.py: Allow Windowish line ends.
Martin Mitas 26f14899 2017-07-24T19:27:27 Add pathological_tests.py from cmark.
Martin Mitas ad4f28bb 2017-07-24T20:09:23 md_analyze_simple_pairing_mark: Fix the "rule of three". If the first emphasis opener is refused due the rule of three, a previous opener is examined. However the variable opener_orig_size_module3 was not (re)set accordingly. Fixes #21.
Martin Mitas cfbce759 2017-07-18T18:01:02 Rework ref. def. dictionary. It now uses FNV1a and we now sort/bsearch only contents of single bucket. Additionally we fix #20 by disabling the invalid ref. definitions during hashtable build.
Martin Mitas f2821cbd 2017-07-14T17:10:45 md_analyze_permissive_email_autolink: Make it compatible with CMark-gfm.
Martin Mitas 1bc7f3a8 2017-07-14T02:22:15 render_url_escaped: Fix escaping of ampersand. This affected generating href attribute if links or src attribute of images.
Martin Mitas f3f9404e 2017-07-14T02:06:23 Improve URL autolinks extension. It is now much more compatible to Cmark-gfm. With the flag MD_FLAG_PERMISSIVEWWWAUTOLINKS, we now also support the WWW autolinks (when the http: scheme is omitted).
Martin Mitas 25a156ee 2017-07-12T23:30:14 Implement strikethrough extension.
Martin Mitas 8999e184 2017-01-04T14:40:44 Fix "rule of three" for emphasis resolution (issue #14).
Martin Mitas c63909df 2017-01-04T15:04:09 When splitting emphasis opener mark, we have to retain 'dummy' marks available for more splitting in the future (issue #15).
Martin Mitas 52712384 2016-12-27T22:47:03 When parsing tables, pipes inside a link/image/code span cannot make cell boundary (issue #7).
Martin Mitas f9b4cb8f 2016-12-15T16:47:41 md_process_inlines: Fix when an expanded mark shadows some nested marks (issue #11).
Martin Mitas c235a02e 2016-12-15T13:18:48 test/coverage.txt: Add some tests for higher code coverage.
Martin Mitas a725fee3 2016-12-14T16:51:24 md_enter_child_containers: Fix crash (issue #10). Calling md_push_container_bytes() may result in ending a current block which may result in removing some contents from ctx->block_bytes when removing some lines with link reference definitions. This in effect means we have to end the block explicitly before storing the offset into the ctx->block_bytes.
Martin Mitas ba29d007 2016-12-12T23:31:59 md_is_link_reference_definition: Fix handling of multiline label (issue #9).
Martin Mitas 09ae8609 2016-12-07T23:56:47 Handle images more like links. Remove MD_SPAN_IMG_DETAIL::alt. Instead, the contents of the image is propagated to the renderer via MD_RENDERER::text() callback. * This fixes handling of entities inside the image text (issue #4). * It simplifies parsing and, more importantly, it better distingusshes what is responsibility of parser or renderer respectively. * This allows more flexibility on renderers side. Renderer who do not * really support images can just output the image content as any other text. The cost is a renderer into HTML (if it wants to render image contents into the attribute ALT of the IMG tag), has to handle images with more care. Typically such renderer has to track whether it is inside an image, and if so, then render span enter/leave as an empty string.
Martin Mitas 23312d6d 2016-12-05T11:13:43 md_is_html_tag: Fix parsing unquoted attribute value (issue #2).
Martin Mitas b40d5950 2016-12-04T17:01:00 Fix file permissions of python scripts.
Martin Mitas be7fcc16 2016-11-21T09:47:31 Implement tables. Note it is implemented as an extension. To enable it, the flag MD_FLAG_TABLES must be explicitly specified.
Martin Mitas 809e611b 2016-11-20T00:57:32 Migrate to CommonMark pecification 0.27.
Martin Mitas ef5f230f 2016-10-14T19:56:05 Implement permissive autolinks extensions. With MD_FLAG_PERMISSIVEURLAUTOLINKS, we treat not overly complicated URLs as autolinks even without '<' and '>'. With MD_FLAG_PERMISSIVEEMAILAUTOLINKS, we treat not overly complicated e-mail addresses as autolinks even without '<', '>' and without the 'mailto:' scheme. Also expanded md2html utility and tests to cover these.
Martin Mitas 1cfc6a5f 2016-10-11T01:10:11 Incorporate the specification testsuite from CommonMark.