aboutsummaryrefslogtreecommitdiff
path: root/test/pptx
AgeCommit message (Collapse)AuthorFilesLines
2021-08-17pptx: Select layouts from reference doc by nameEmily Bourke44-0/+0
Until now, users had to make sure that their reference doc contains layouts in a specific order: the first four layouts in the file had to have a specific structure, or else pandoc would error (or sometimes successfully produce a pptx file, which PowerPoint would then fail to open). This commit changes the layout selection to use the layout names rather than order: users must make sure their reference doc contains four layouts with specific names, and if a layout with the right name isn’t found pandoc will output a warning and use the corresponding layout from the default reference doc as a fallback. I believe the use of names rather than order will be clearer to users, and the clearer errors will help them troubleshoot when things go wrong. - Add tests for moved layouts - Add tests for deleted layouts - Add newly included layouts to slideMaster1.xml to fix tests
2021-05-29Modify pptx tests to take a whole lot less space.John MacFarlane22-0/+0
- Replace a 300K image in the reference pptx with a 2K one. - Updated all the *_templated.pptx files based on the new reference pptx. - These changes should reduce the size of the tarball by roughly 7 MB! See haskell/hackage-server#935
2021-02-16Rename Text.Pandoc.XMLParser -> Text.Pandoc.XML.Light...John MacFarlane42-0/+0
..and add new definitions isomorphic to xml-light's, but with Text instead of String. This allows us to keep most of the code in existing readers that use xml-light, but avoid lots of unnecessary allocation. We also add versions of the functions from xml-light's Text.XML.Light.Output and Text.XML.Light.Proc that operate on our modified XML types, and functions that convert xml-light types to our types (since some of our dependencies, like texmath, use xml-light). Update golden tests for docx and pptx. OOXML test: Use `showContent` instead of `ppContent` in `displayDiff`. Docx: Do a manual traversal to unwrap sdt and smartTag. This is faster, and needed to pass the tests. Benchmarks: A = prior to 8ca191604dcd13af27c11d2da225da646ebce6fc (Feb 8) B = as of 8ca191604dcd13af27c11d2da225da646ebce6fc (Feb 8) C = this commit | Reader | A | B | C | | ------- | ----- | ------ | ----- | | docbook | 18 ms | 12 ms | 10 ms | | opml | 65 ms | 62 ms | 35 ms | | jats | 15 ms | 11 ms | 9 ms | | docx | 72 ms | 69 ms | 44 ms | | odt | 78 ms | 41 ms | 28 ms | | epub | 64 ms | 61 ms | 56 ms | | fb2 | 14 ms | 5 ms | 4 ms |
2021-02-10Add new unexported module T.P.XMLParser.John MacFarlane42-0/+0
This exports functions that uses xml-conduit's parser to produce an xml-light Element or [Content]. This allows existing pandoc code to use a better parser without much modification. The new parser is used in all places where xml-light's parser was previously used. Benchmarks show a significant performance improvement in parsing XML-based formats (especially ODT and FB2). Note that the xml-light types use String, so the conversion from xml-conduit types involves a lot of extra allocation. It would be desirable to avoid that in the future by gradually switching to using xml-conduit directly. This can be done module by module. The new parser also reports errors, which we report when possible. A new constructor PandocXMLError has been added to PandocError in T.P.Error [API change]. Closes #7091, which was the main stimulus. These changes revealed the need for some changes in the tests. The docbook-reader.docbook test lacked definitions for the entities it used; these have been added. And the docx golden tests have been updated, because the new parser does not preserve the order of attributes. Add entity defs to docbook-reader.docbook. Update golden tests for docx.
2020-12-27Powerpoint writer: allow arbitrary OOXML in raw inline elementsAlbert Krewinkel1-1/+1
The raw text is now included verbatim in the output. Previously is was parsed into XML elements, which prevented the inclusion of partial XML snippets.
2020-06-22Handle native Underline in Powerpoint writer.John MacFarlane2-0/+0
(Instead of old Span with underline class. Spans with `underline` will no longer be rendered as underlined text.)
2020-04-15Adapt to the removal of the RowSpan, ColSpan, RowHeadColumns accessorsdespresc2-51/+51
2020-04-15Adapt to the newest Table type, fix some previous adaptation issuesdespresc2-103/+127
- Writers.Native is now adapted to the new Table type. - Inline captions should now be conditionally wrapped in a Plain, not a Para block. - The toLegacyTable function now lives in Writers.Shared.
2020-04-15Implement the new Table typedespresc2-51/+117
2019-08-27PowerPoint writer: Start numbering at appopriate numbers.Jesse Rosenthal3-0/+9
Starting numbers for ordered lists were previously ignored. Now we specify the number if it is something other than 1. Closes: #5709
2019-06-14Powerpoint code formatting is now context dependent (#5573)Jeroen de Haas5-0/+21
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-04-05PowerPoint writer: expand builtin reference doc to model all layoutsJesse Rosenthal22-0/+0
The previous built-in reference doc had only title and content layouts. Add in a section-header slide and a two-content slide, so users can more easily modify it to build their own templates. Golden files needed to be regenerated. Checked on MS PowerPoint 2013.
2019-04-04PowerPoint tests: Regenerate golden filesJesse Rosenthal36-0/+0
Due to viewProps change in 61dc0f9f. Golden files checked on PowerPoint 2013 (Win 10 on virtualbox).
2019-03-31PowerPoint writer: add test for speaker notes after metadata.Jesse Rosenthal3-0/+5
2019-03-30Pptx writer: test for speaker notes after breaking header.Jesse Rosenthal3-0/+3
2019-02-27Powerpoint writer: add tests for underline.Jesse Rosenthal3-1/+1
2019-01-26Improve writing metadata for docx, pptx and odt (#5252)Agustín Martín Barbero34-0/+4
* docx writer: support custom properties. Solves the writer part of #3024. Also supports additional core properties: `subject`, `lang`, `category`, `description`. * odt writer: improve standard properties, including the following core properties: `generator` (Pandoc/VERSION), `description`, `subject`, `keywords`, `initial-creator` (from authors), `creation-date` (actual creation date). Also fix date. * pptx writer: support custom properties. Also supports additional core properties: `subject`, `category`, `description`. * Includes golden tests. * MANUAL: document metadata support for docx, odt, pptx writers
2018-10-20Powerpoint tests: test raw openxmlJesse Rosenthal3-0/+3
Output files confirmed not to be corrupt, and with content as expected, on PowerPoint 2013 on Windows 10 (virtualbox on linux).
2018-07-02More spellcheckAlexander Krotov3-1/+1
2018-03-24Update powerpoint golden tests:Jesse Rosenthal8-0/+0
Some internal changes in templating produced slightly different xml. All have been checked, are not corrupt, and have output as expected.
2018-03-21Powerpoint writer: add tests for improved speaker notes.Jesse Rosenthal3-0/+33
Tests speaker notes appearing after (and inside of) separating blocks. Output checked on Windows10 (archlinux virtualbox), PowerPoint 2013. Not corrupted, and output as expected.
2018-02-27Powerpoint writer: Use table stylesJesse Rosenthal2-0/+0
This will use the default table style in the reference-doc file. As a result they will be easier when using in a template, and match the color scheme.
2018-02-27Powerpoint writer: add test for table and list syntaxJesse Rosenthal6-0/+53
These were never added when the tests were first created. Output files checked in MS PowerPoint 2013 (Windows 10, VBox). No corruption, and output as expected.
2018-02-27Powerpoint writer: Remove empty slidesJesse Rosenthal3-0/+5
Make sure there are no empty slides in the pptx output. Because of the way that slides were split, these could be accidentally produced by comments after images. When animations are added, there will be a way to add an empty slide with either incremental lists or pauses. Test outputs checked with MS PowerPoint (Office 2013, Windows 10, VBox). Both files have expected output and are not corrupted.
2018-02-19Powerpoint writer tests: Test everything with template as wellJesse Rosenthal10-0/+0
Modify the PowerPoint tests to run all the tests with template (--reference-doc) as well. Because there are so many interlocking pieces, bugs can pop up in weird places when using templates, since it changes how the writer builds its output file. For example, I recently discovered a bug in which speaker notes worked fine and templating worked fine elsewhere, but templating with speaker notes produced a file that would crash MS PowerPoint. That particular bug was fixed, but this will forces us to check for that with each new change.
2018-02-19Powerpoint writer: Update.golden tests.Jesse Rosenthal9-0/+0
Checked with Office 2013. No corruption and output as expected.
2018-02-18Powerpoint writer: Add tests for speaker notes.Jesse Rosenthal2-0/+17
2018-02-18Powerpoint writer: update golden test filesJesse Rosenthal8-0/+0
Since the template changed, some small elements of these test files changed as well. All of these were checked with Powerpoint 2013 on Windows 10 (VirtualBox). All had expected outcomes and no corruption.
2018-01-22Powerpoint writer tests: add tests for two-column layout and imagesJesse Rosenthal4-0/+14
Powerpoint output checked in MS PowerPoint 2013 (Windows)
2018-01-22Powerpoint writer: Add further testsJesse Rosenthal4-0/+2
Tests added for: - table of contents - endnotes - endnotes with table of contents Powerpoint output checked in MS PowerPoint 2013 (Windows)
2018-01-21Powerpoint writer tests: New test framework for pptx.Jesse Rosenthal5-0/+12
Previously we had tested certain properties of the output PowerPoint slides. Corruption, though, comes as the result of a numebr of interrelated issues in the output pptx archive. This is a new approach, which compares the output of the Powerpoint writer with files that we know to (a) not be corrupt, and (b) to show the desired output behavior (details below). This commit introduces three tests using the new framework. More will follow. The test procedure: given a native file and a pptx file, we generate a pptx archive from the native file, and then test: 1. Whether the same files are in the two archives 2. Whether each of the contained xml files is the same. (We skip time entries in `docProps/core.xml`, since these are derived from IO. We just check to make sure that they're there in the same way in both files.) 3. Whether each of the media files is the same. Note that steps 2 and 3, though they compare multiple files, are one test each, since the number of files depends on the input file (if there is a failure, it will only report the first failed file comparison in the test failure).