From 9625e17e86dab26e0ef8dc47eebcb83249c4b220 Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Thu, 3 Feb 2022 21:06:48 -0800 Subject: [PATCH] Add zotero citation test with docx-citations. --- test/Tests/Readers/Docx.hs | 6 + test/docx/zotero_citations.docx | Bin 0 -> 14943 bytes test/docx/zotero_citations_minus.native | 335 ++++++++++++++++++++++++ 3 files changed, 341 insertions(+) create mode 100644 test/docx/zotero_citations.docx create mode 100644 test/docx/zotero_citations_minus.native diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs index be5b89b88..6c873dd5a 100644 --- a/test/Tests/Readers/Docx.hs +++ b/test/Tests/Readers/Docx.hs @@ -370,6 +370,12 @@ tests = [ testGroup "document" "docx/drop_cap.docx" "docx/drop_cap.native" ] + , testGroup "citations" + [ testCompare + "zotero with -citations" + "docx/zotero_citations.docx" + "docx/zotero_citations_minus.native" + ] , testGroup "track changes" [ testCompare "insertion (default)" diff --git a/test/docx/zotero_citations.docx b/test/docx/zotero_citations.docx new file mode 100644 index 0000000000000000000000000000000000000000..59d9b3e4523241b6f91008d9d3409b1b4d5d2d29 GIT binary patch literal 14943 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 R9}fPHKcEkain9KC`X6V=mJa{` literal 0 HcmV?d00001 diff --git a/test/docx/zotero_citations_minus.native b/test/docx/zotero_citations_minus.native new file mode 100644 index 000000000..380ecafdf --- /dev/null +++ b/test/docx/zotero_citations_minus.native @@ -0,0 +1,335 @@ +Pandoc + Meta { unMeta = fromList [] } + [ Para + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "citation" + , Space + , Str "(Smith" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2013)" + ] + , Para + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "citation" + , Space + , Str "with" + , Space + , Str "two" + , Space + , Str "sources" + , Space + , Str "(Boer" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2016;" + , Space + , Str "Smith" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2013)." + ] + , Para + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "citation" + , Space + , Str "with" + , Space + , Str "additional" + , Space + , Str "prefix," + , Space + , Str "suffix" + , Space + , Str "and" + , Space + , Str "a" + , Space + , Str "page" + , Space + , Str "number" + , Space + , Str "(prefix" + , Space + , Str "Bellomo" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2016," + , Space + , Str "p." + , Space + , Str "2" + , Space + , Str "suffix)." + ] + , Header + 1 + ( "reference-list" , [] , [] ) + [ Str "Reference" , Space , Str "list" ] + , Para + [ Str "Bellomo," + , Space + , Str "K.," + , Space + , Str "Clement," + , Space + , Str "A." + , Space + , Str "C.," + , Space + , Str "Murphy," + , Space + , Str "L." + , Space + , Str "N.," + , Space + , Str "Polvani," + , Space + , Str "L." + , Space + , Str "M.," + , Space + , Str "&" + , Space + , Str "Cane," + , Space + , Str "M." + , Space + , Str "A." + , Space + , Str "(2016)." + , Space + , Str "New" + , Space + , Str "observational" + , Space + , Str "evidence" + , Space + , Str "for" + , Space + , Str "a" + , Space + , Str "positive" + , Space + , Str "cloud" + , Space + , Str "feedback" + , Space + , Str "that" + , Space + , Str "amplifies" + , Space + , Str "the" + , Space + , Str "Atlantic" + , Space + , Str "Multidecadal" + , Space + , Str "Oscillation." + , Space + , Emph + [ Str "Geophys." + , Space + , Str "Res." + , Space + , Str "Lett." + ] + , Str "," + , Space + , Emph [ Str "43" ] + , Str "(18)," + , Space + , Str "9852\8211\&9859." + , Space + , Str "https://doi.org/10.1002/2016GL069961" + ] + , Para + [ Str "Boer," + , Space + , Str "G." + , Space + , Str "J.," + , Space + , Str "Smith," + , Space + , Str "D." + , Space + , Str "M.," + , Space + , Str "Cassou," + , Space + , Str "C.," + , Space + , Str "Doblas-Reyes," + , Space + , Str "F.," + , Space + , Str "Danabasoglu," + , Space + , Str "G.," + , Space + , Str "Kirtman," + , Space + , Str "B.," + , Space + , Str "Kushnir," + , Space + , Str "Y.," + , Space + , Str "Kimoto," + , Space + , Str "M.," + , Space + , Str "Meehl," + , Space + , Str "G." + , Space + , Str "A.," + , Space + , Str "Msadek," + , Space + , Str "R.," + , Space + , Str "M\252ller," + , Space + , Str "W." + , Space + , Str "A.," + , Space + , Str "Taylor," + , Space + , Str "K." + , Space + , Str "E.," + , Space + , Str "Zwiers," + , Space + , Str "F.," + , Space + , Str "Rixen," + , Space + , Str "M.," + , Space + , Str "Ruprich-Robert," + , Space + , Str "Y.," + , Space + , Str "&" + , Space + , Str "Eade," + , Space + , Str "R." + , Space + , Str "(2016)." + , Space + , Str "The" + , Space + , Str "Decadal" + , Space + , Str "Climate" + , Space + , Str "Prediction" + , Space + , Str "Project" + , Space + , Str "(DCPP)." + , Space + , Emph + [ Str "Geoscientific" + , Space + , Str "Model" + , Space + , Str "Development" + ] + , Str "," + , Space + , Emph [ Str "9" ] + , Str "," + , Space + , Str "3751\8211\&3777." + , Space + , Str "https://doi.org/10.5194/gmd-9-3751-2016" + ] + , Para + [ Str "Smith," + , Space + , Str "D." + , Space + , Str "M.," + , Space + , Str "Eade," + , Space + , Str "R.," + , Space + , Str "&" + , Space + , Str "Pohlmann," + , Space + , Str "H." + , Space + , Str "(2013)." + , Space + , Str "A" + , Space + , Str "comparison" + , Space + , Str "of" + , Space + , Str "full-field" + , Space + , Str "and" + , Space + , Str "anomaly" + , Space + , Str "initialization" + , Space + , Str "for" + , Space + , Str "seasonal" + , Space + , Str "to" + , Space + , Str "decadal" + , Space + , Str "climate" + , Space + , Str "prediction." + , Space + , Emph [ Str "Climate" , Space , Str "Dynamics" ] + , Str "," + , Space + , Emph [ Str "41" ] + , Str "(11\8211\&12)," + , Space + , Str "3325\8211\&3338." + , Space + , Str "https://doi.org/10.1007/s00382-013-1683-2" + ] + ]