aboutsummaryrefslogtreecommitdiff
path: root/test/Tests
AgeCommit message (Collapse)AuthorFilesLines
2020-02-07Apply linter suggestions. Add fix_spacing to lint target in Makefile.John MacFarlane9-51/+50
2020-02-07Various minor cleanups and refactoring (#6117)Joseph C. Sible1-3/+3
* Use concatMap instead of reimplementing it * Replace an unnecessary multi-way if with a regular if * Use sortOn instead of sortBy and comparing * Use guards instead of lots of indents for if and else * Remove redundant do blocks * Extract common functions from both branches of maybe Whenever both the Nothing and the Just branch of maybe do the same function, do that function on the result of maybe instead. * Use fmap instead of reimplementing it from maybe * Use negative forms instead of negating the positive forms * Use mapMaybe instead of mapping and then using catMaybes * Use zipWith instead of mapping over the result of zip * Use unwords instead of reimplementing it * Use <$ instead of <$> and const * Replace case of Bool with if and else * Use find instead of listToMaybe and filter * Use zipWithM instead of mapM and zip * Inline lambda wrappers into the real functions * We get zipWithM from Text.Pandoc.Writers.Shared * Use maybe instead of fromMaybe and fmap I'm not sure how this one slipped past me. * Increase a bit of indentation
2020-01-15Lua filters: allow filtering of element lists (#6040)Albert Krewinkel1-1/+24
Lists of Inline and Block elements can now be filtered via `Inlines` and `Blocks` functions, respectively. This is helpful if a filter conversion depends on the order of elements rather than a single element. For example, the following filter can be used to remove all spaces before a citation: function isSpaceBeforeCite (spc, cite) return spc and spc.t == 'Space' and cite and cite.t == 'Cite' end function Inlines (inlines) for i = #inlines-1,1,-1 do if isSpaceBeforeCite(inlines[i], inlines[i+1]) then inlines:remove(i) end end return inlines end Closes: #6038
2020-01-11Add tests for pandoc.List moduleAlbert Krewinkel1-0/+2
2020-01-01LaTeX writer: properly handle unnumbered headings level 4+.John MacFarlane1-1/+1
Closes #6018. Previously the `\paragraph` command was used instead of `\paragraph*` for unnumbered level 4 headings.
2019-12-21HTML reader tests: modify round-trip tests...John MacFarlane1-0/+4
to avoid a special failure case involving makeSections.
2019-12-19Org reader: fix parsing problem for colons in headlineAlbert Krewinkel1-0/+10
Fixed a problem where words surrounded by colons could causing parse failures in some cases when they occurred in headers. Fixes: #5993
2019-12-18Org reader: wrap named table in div, using name as idAlbert Krewinkel1-0/+7
Closes: #5984
2019-12-17Add jira reader (#5913)Albert Krewinkel2-0/+116
Closes #5556
2019-11-18DokuWiki reader: parse markup inside monospace ('') (#5917)Alexander Krotov1-0/+3
Fixes #5916
2019-11-14RST writer: fix backslash escaping after stringsAlbert Krewinkel1-0/+3
The check whether a complex inline element following a string must be escaped, now depends on the last character of the string instead of the first. Fixes: #5906
2019-11-12Switch to new pandoc-types and use Text instead of String [API change].despresc14-32/+49
PR #5884. + Use pandoc-types 1.20 and texmath 0.12. + Text is now used instead of String, with a few exceptions. + In the MediaBag module, some of the types using Strings were switched to use FilePath instead (not Text). + In the Parsing module, new parsers `manyChar`, `many1Char`, `manyTillChar`, `many1TillChar`, `many1Till`, `manyUntil`, `mantyUntilChar` have been added: these are like their unsuffixed counterparts but pack some or all of their output. + `glob` in Text.Pandoc.Class still takes String since it seems to be intended as an interface to Glob, which uses strings. It seems to be used only once in the package, in the EPUB writer, so that is not hard to change.
2019-11-04HTML Reader/Writer - Add support for <var> and <samp> (#5861)Amogh Rathore2-0/+28
Closes #5799
2019-11-03Docx reader: fix list number resumption for sublists. Closes #4324.John MacFarlane1-0/+4
The first list item of a sublist should not resume numbering from the number of the last sublist item of the same level, if that sublist was a sublist of a different list item. That is, we should not get: ``` 1. one 1. sub one 2. sub two 2. two 3. sub one ```
2019-10-30docbook reader: fix nesting of chapters and sections (#5864)Florian Klink1-0/+2
* Set dbBook to true when traversing a chapter too. Currently, a `<title/>` in a chapter and in a `<section/>` below that chapter have the same level if they're not inside a `<book/>`. This can happen in a multi-file book project. Also see the example at https://tdg.docbook.org/tdg/4.5/chapter.html Co-authored-by: Félix Baylac-Jacqué <felix@alternativebit.fr> * Add docbook-chapter test This tests nested `<section/>` and makes sure `<title/>` in the first `<section/>` below `<chapter/>` is one level deeper than the `<chapter/>`'s `<title/>`, also when not inside a `<book/>`. Co-authored-by: Félix Baylac-Jacqué <felix@alternativebit.fr>
2019-10-29Changes to build with new doctemplates/doclayout.John MacFarlane1-1/+1
The new version of doctemplates adds many features to pandoc's templating system, while remaining backwards-compatible. New features include partials and filters. Using template filters, one can lay out data in enumerated lists and tables. Templates are now layout-sensitive: so, for example, if a text with soft line breaks is interpolated near the end of a line, the text will break and wrap naturally. This makes the templating system much more suitable for programatically generating markdown or other plain-text files from metadata.
2019-10-27Org reader: fix parsing of empty comment linesAlbert Krewinkel1-1/+11
Comment lines in Org-mode can be completely empty; both of these line should produce no output: # a comment # The reader used to produce a wrong result for the latter, but ignores that line as well now. Fixes: #5856
2019-10-24HTML reader/writer: Better handling of <q> with cite attribute (#5837)Ole Martin Ruud1-0/+17
* HTML reader: Handle cite attribute for quotes. If a `<q>` tag has a `cite` attribute, we interpret it as a Quoted element with an inner Span. Closes #5798 * Refactor url canonicalization into a helper function * Modify HTML writer to handle quote with cite. [0]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q
2019-10-23Add Reader support for HTML <samp> element (#5843)Amogh Rathore1-0/+6
The `<samp>` element is parsed as a Span with class `sample`. Closes #5792.
2019-10-15Muse reader: do not allow closing asterisks to be followed by "*"Alexander Krotov1-3/+23
2019-10-15Muse reader: do not split series of asterisks into symbols and emphasisAlexander Krotov1-0/+8
Fixes #5821
2019-10-15Muse reader: do not terminate emphasis on "*" not followed by spaceAlexander Krotov1-0/+4
2019-10-09Options.WriterOptions: Change type of writerVariables to Context Text.John MacFarlane1-1/+5
This will allow structured values. [API change]
2019-10-04hlint Muse reader testsAlexander Krotov1-1/+1
2019-10-03Minor ghc 8.8 fixups.John MacFarlane1-1/+0
2019-09-23ConTeXt unit tests - tweak code property.John MacFarlane1-1/+1
Inline code will never have two consecutive newlines. We get a counterexample in this case https://pipelines.actions.githubusercontent.com/bMXCpShstkkHbFPgw9hBRMWw2w9plyzdVM8r7CRPFBHFvidaAG/5cf52d2d-3804-412d-ae65-4f8c059b0fb7/_apis/pipelines/1/runs/116/signedlogcontent/39?urlExpires=2019-09-23T17%3A38%3A05.8358735Z&urlSigningMethod=HMACV1&urlSignature=Qtd6vnzqgSwXpAkIyp9DJY4Kn7GJzYMR8UDkLR%2FsMQY%3D so for simplicity we just weed out code with newlines.
2019-09-22Make `plain` output plainer.John MacFarlane1-1/+3
Previously we used the following Project Gutenberg conventions for plain output: - extra space before and after level 1 and 2 headings - all-caps for strong emphasis `LIKE THIS` - underscores surrounding regular emphasis `_like this_` This commit makes `plain` output plainer. Strong and Emph inlines are rendered without special formatting. Headings are also rendered without special formatting, and with only one blank line following. To restore the former behavior, use `-t plain+gutenberg`. API change: Add `Ext_gutenberg` constructor to `Extension`. See #5741.
2019-09-21[Docx Reader] Use style names, not ids, for assigning semantic meaningNikolay Yakimov1-0/+9
Motivating issues: #5523, #5052, #5074 Style name comparisons are case-insensitive, since those are case-insensitive in Word. w:styleId will be used as style name if w:name is missing (this should only happen for malformed docx and is kept as a fallback to avoid failing altogether on malformed documents) Block quote detection code moved from Docx.Parser to Readers.Docx Code styles, i.e. "Source Code" and "Verbatim Char" now honor style inheritance Docx Reader now honours "Compact" style (used in Pandoc-generated docx). The side-effect is that "Compact" style no longer shows up in docx+styles output. Styles inherited from "Compact" will still show up. Removed obsolete list-item style from divsToKeep. That didn't really do anything for a while now. Add newtypes to differentiate between style names, ids, and different style types (that is, paragraph and character styles) Since docx style names can have spaces in them, and pandoc-markdown classes can't, anywhere when style name is used as a class name, spaces are replaced with ASCII dashes `-`. Get rid of extraneous intermediate types, carrying styleId information. Instead, styleId is saved with other style data. Use RunStyle for inline style definitions only (lacking styleId and styleName); for Character Styles use CharStyle type (which is basicaly RunStyle with styleId and StyleName bolted onto it).
2019-09-20Preserve built-in styles in DOCX with custom style (#5670)Ben Steinberg1-0/+4
This commit prevents custom styles on divs and spans from overriding styles on certain elements inside them, like headings, blockquotes, and links. On those elements, the "native" style is required for the element to display correctly. This change also allows nesting of custom styles; in order to do so, it removes the default "Compact" style applied to Plain blocks, except when inside a table.
2019-09-15Revert "FB2 reader test: better diagnostics on failure."John MacFarlane1-28/+1
This reverts commit c65af7d1a2f35cbfd1235df2960f7156d38e8f92.
2019-09-15FB2 reader test: better diagnostics on failure.John MacFarlane1-1/+28
2019-09-14FB2 reader test: Another attempt to fix test failure on GitHub CI.John MacFarlane1-4/+5
2019-09-13Revert "FB2 reader test: filter CRs."John MacFarlane1-2/+2
This reverts commit e35147d715a737bb854e0c527243f77d970d1b86.
2019-09-13FB2 reader test: filter CRs.John MacFarlane1-2/+2
This may help with the test failure on GitHub CI. https://github.com/jgm/pandoc/commit/b59e6d03762becd5c9d767463ce7ba5062a1b4a0/checks
2019-09-04Roff readers: better parsing of groups.John MacFarlane1-1/+1
We now allow groups where the closing `\\}` isn't at the beginning of a line. Closes #5410.
2019-08-27PowerPoint writer: Start numbering at appopriate numbers.Jesse Rosenthal1-0/+4
Starting numbers for ordered lists were previously ignored. Now we specify the number if it is something other than 1. Closes: #5709
2019-07-28Use doctemplates 0.3, change type of writerTemplate.John MacFarlane6-9/+20
* Require recent doctemplates. It is more flexible and supports partials. * Changed type of writerTemplate to Maybe Template instead of Maybe String. * Remove code from the LaTeX, Docbook, and JATS writers that looked in the template for strings to determine whether it is a book or an article, or whether csquotes is used. This was always kludgy and unreliable. To use csquotes for LaTeX, set `csquotes` in your variables or metadata. It is no longer sufficient to put `\usepackage{csquotes}` in your template or header includes. To specify a book style, use the `documentclass` variable or `--top-level-division`. * Change template code to use new API for doctemplates.
2019-07-22Org reader: accept ATTR_LATEX in block attributesAlbert Krewinkel1-0/+7
Attributes for LaTeX output are accepted as valid block attributes; however, their values are ignored. Fixes: #5648
2019-07-18Markdown writer: prefer using raw_attribute when enabled.John MacFarlane1-1/+1
The `raw_attribute` will be used to mark raw bits, even HTML and LaTeX, and even when `raw_html` and `raw_tex` are enabled, as they are by default. To get the old behavior, disable `raw_attribute` in the writer. Closes #4311.
2019-07-14Muse: add RTL supportAlexander Krotov2-0/+10
Closes #5551
2019-07-13Merge pull request #5589 from blmage/fix-3992John MacFarlane1-1/+33
Add support for EPUB2 covers (fix #3992)
2019-07-13Merge pull request #5606 from blmage/odt-framesJohn MacFarlane1-0/+1
Improve the parsing of frames in ODT documents
2019-07-02Fix redundant constraint warnings. (#5625)Pete Ryland1-1/+1
2019-06-22add tests for EPUB2 and EPUB3 cover readermartinfrancois1-1/+33
2019-06-20Add a test for MathML formulas in ODT documentsblmage1-0/+1
2019-06-14Powerpoint code formatting is now context dependent (#5573)Jeroen de Haas1-0/+8
This commit alters the way in which the Powerpoint writer treats inline code and code blocks. - Inline code is now formatted at the same size as the surrounding text. - Code blocks are now given a margin and font size according to their level. - Furthermore this commit allows changing the font with which code is formatted via the `monofont` option. Tested in - PowerPoint 365 for Windows - 1808 (Build 10730.20344 Click-to-Run) - PowerPoint 365 for Mac - 16.26 (19060901)
2019-06-10LaTeX writer: Use mbox to get proper behavior inside `\sout`.John MacFarlane1-1/+1
Closes #5529.
2019-06-09Muse reader: test that links inside image descriptions workAlexander Krotov1-0/+3
2019-06-05Add jira writer (#5548)Albert Krewinkel1-0/+3
This adds support for Atlassian's jira markup. Closes #2497
2019-05-30Lua modules: test pandoc.mediabagAlbert Krewinkel1-3/+8