From 697aea371717f3dab5484227fcd8025bbd45c70b Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 4 Feb 2022 10:14:21 -0800 Subject: [PATCH] Add mendeley citation tests. --- test/Tests/Readers/Docx.hs | 9 + test/docx/mendeley_citations.docx | Bin 0 -> 17716 bytes test/docx/mendeley_citations_minus.native | 318 +++++++++++++++++++ test/docx/mendeley_citations_plus.native | 369 ++++++++++++++++++++++ 4 files changed, 696 insertions(+) create mode 100644 test/docx/mendeley_citations.docx create mode 100644 test/docx/mendeley_citations_minus.native create mode 100644 test/docx/mendeley_citations_plus.native diff --git a/test/Tests/Readers/Docx.hs b/test/Tests/Readers/Docx.hs index b05ce8d3c..607e72f1b 100644 --- a/test/Tests/Readers/Docx.hs +++ b/test/Tests/Readers/Docx.hs @@ -380,6 +380,15 @@ tests = [ testGroup "document" "zotero with +citations" "docx/zotero_citations.docx" "docx/zotero_citations_plus.native" + , testCompare + "mendeley with -citations" + "docx/mendeley_citations.docx" + "docx/mendeley_citations_minus.native" + , testCompareWithOpts def{readerExtensions = + extensionsFromList [Ext_citations]} + "mendeley with +citations" + "docx/mendeley_citations.docx" + "docx/mendeley_citations_plus.native" ] , testGroup "track changes" [ testCompare diff --git a/test/docx/mendeley_citations.docx b/test/docx/mendeley_citations.docx new file mode 100644 index 0000000000000000000000000000000000000000..68321bffd232cadc8181b7e4b185b9594768795d GIT binary patch literal 17716 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 literal 0 HcmV?d00001 diff --git a/test/docx/mendeley_citations_minus.native b/test/docx/mendeley_citations_minus.native new file mode 100644 index 000000000..89da3e5f8 --- /dev/null +++ b/test/docx/mendeley_citations_minus.native @@ -0,0 +1,318 @@ +Pandoc + Meta { unMeta = fromList [] } + [ Para + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "Mendeley" + , Space + , Str "test" + , Space + , Str "(prefix" + , Space + , Str "Hadwen-Bennett" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2018," + , Space + , Str "p." + , Space + , Str "123" + , Space + , Str "suffix)." + ] + , Para + [ Str "Another" + , Space + , Str "test" + , Space + , Str "(prefix" + , Space + , Str "Seo," + , Space + , Str "2019," + , Space + , Str "pp." + , Space + , Str "10\8211\&20" + , Space + , Str "suffix)." + ] + , Para + [ Str "The" + , Space + , Str "last" + , Space + , Str "test" + , Space + , Str "(Koh" + , Space + , Str "&" + , Space + , Str "Abbas," + , Space + , Str "2015;" + , Space + , Str "Lee" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2011)." + ] + , Header 1 ( "references" , [] , [] ) [ Str "References" ] + , Para + [ Str "Hadwen-Bennett," + , Space + , Str "A.," + , Space + , Str "Sentance," + , Space + , Str "S.," + , Space + , Str "&" + , Space + , Str "Morrison," + , Space + , Str "C." + , Space + , Str "(2018)." + , Space + , Str "Making" + , Space + , Str "Programming" + , Space + , Str "Accessible" + , Space + , Str "to" + , Space + , Str "Learners" + , Space + , Str "with" + , Space + , Str "Visual" + , Space + , Str "Impairments:" + , Space + , Str "A" + , Space + , Str "Literature" + , Space + , Str "Review." + , Space + , Emph + [ Str "International" + , Space + , Str "Journal" + , Space + , Str "of" + , Space + , Str "Computer" + , Space + , Str "Science" + , Space + , Str "Education" + , Space + , Str "in" + , Space + , Str "Schools" + ] + , Str "," + , Space + , Emph [ Str "2" ] + , Str "(2)," + , Space + , Str "3\8211\&13." + , Space + , Str + "https://www.microsoft.com/en-us/research/publication/making-programming-accessible-to-learners-with-visual-impairments-a-literature-review/" + ] + , Para + [ Str "Koh," + , Space + , Str "K.," + , Space + , Str "&" + , Space + , Str "Abbas," + , Space + , Str "J." + , Space + , Str "(2015)." + , Space + , Str "Future" + , Space + , Str "of" + , Space + , Str "library" + , Space + , Str "and" + , Space + , Str "museum" + , Space + , Str "services" + , Space + , Str "supporting" + , Space + , Str "teen" + , Space + , Str "learning:" + , Space + , Str "Perceptions" + , Space + , Str "of" + , Space + , Str "professionals" + , Space + , Str "in" + , Space + , Str "learning" + , Space + , Str "labs" + , Space + , Str "and" + , Space + , Str "makerspaces." + , Space + , Emph + [ Str "Journal" + , Space + , Str "of" + , Space + , Str "Research" + , Space + , Str "on" + , Space + , Str "Libraries" + , Space + , Str "\\&" + , Space + , Str "Young" + , Space + , Str "Adults" + ] + , Str "," + , Space + , Emph [ Str "6" ] + , Str "(4)." + ] + , Para + [ Str "Lee," + , Space + , Str "I.," + , Space + , Str "Martin," + , Space + , Str "F.," + , Space + , Str "Denner," + , Space + , Str "J.," + , Space + , Str "Coulter," + , Space + , Str "B.," + , Space + , Str "Allan," + , Space + , Str "W.," + , Space + , Str "Erickson," + , Space + , Str "J.," + , Space + , Str "Malyn-Smith," + , Space + , Str "J.," + , Space + , Str "&" + , Space + , Str "Werner," + , Space + , Str "L." + , Space + , Str "(2011)." + , Space + , Str "Computational" + , Space + , Str "Thinking" + , Space + , Str "for" + , Space + , Str "Youth" + , Space + , Str "in" + , Space + , Str "Practice." + , Space + , Emph [ Str "ACM" , Space , Str "Inroads" ] + , Str "," + , Space + , Emph [ Str "2" ] + , Str "(1)," + , Space + , Str "32\8211\&37." + , Space + , Str "https://doi.org/10.1145/1929887.1929902" + ] + , Para + [ Str "Seo," + , Space + , Str "J." + , Space + , Str "(2019)." + , Space + , Str "Is" + , Space + , Str "the" + , Space + , Str "Maker" + , Space + , Str "Movement" + , Space + , Str "Inclusive" + , Space + , Str "of" + , Space + , Str "{ANYONE}?:" + , Space + , Str "Three" + , Space + , Str "Accessibility" + , Space + , Str "Considerations" + , Space + , Str "to" + , Space + , Str "Invite" + , Space + , Str "Blind" + , Space + , Str "Makers" + , Space + , Str "to" + , Space + , Str "the" + , Space + , Str "Making" + , Space + , Str "World." + , Space + , Emph [ Str "TechTrends" ] + , Str "," + , Space + , Emph [ Str "63" ] + , Str "(5)," + , Space + , Str "514\8211\&520." + , Space + , Str "https://doi.org/10.1007/s11528-019-00377-3" + ] + ] diff --git a/test/docx/mendeley_citations_plus.native b/test/docx/mendeley_citations_plus.native new file mode 100644 index 000000000..d3226b0c6 --- /dev/null +++ b/test/docx/mendeley_citations_plus.native @@ -0,0 +1,369 @@ +Pandoc + Meta + { unMeta = + fromList + [ ( "references" + , MetaList + [ MetaMap + (fromList + [ ( "DOI" + , MetaInlines [ Str "10.1145/1929887.1929902" ] + ) + , ( "ISSN" , MetaInlines [ Str "2153-2184" ] ) + , ( "author" + , MetaList + [ MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Lee" ) + , ( "given" , MetaString "Irene" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Martin" ) + , ( "given" , MetaString "Fred" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Denner" ) + , ( "given" , MetaString "Jill" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" + , MetaString "Coulter" + ) + , ( "given" , MetaString "Bob" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Allan" ) + , ( "given" , MetaString "Walter" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" + , MetaString "Erickson" + ) + , ( "given" , MetaString "Jeri" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" + , MetaString "Malyn-Smith" + ) + , ( "given" , MetaString "Joyce" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Werner" ) + , ( "given" , MetaString "Linda" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + ] + ) + , ( "container-title" + , MetaInlines + [ Str "ACM" , Space , Str "Inroads" ] + ) + , ( "id" , MetaString "ITEM-1" ) + , ( "issue" , MetaString "1" ) + , ( "issued" , MetaString "2011-02" ) + , ( "page" , MetaString "32-37" ) + , ( "publisher" , MetaInlines [ Str "ACM" ] ) + , ( "publisher-place" + , MetaInlines + [ Str "New" + , Space + , Str "York," + , Space + , Str "NY," + , Space + , Str "USA" + ] + ) + , ( "title" + , MetaInlines + [ Str "Computational" + , Space + , Str "Thinking" + , Space + , Str "for" + , Space + , Str "Youth" + , Space + , Str "in" + , Space + , Str "Practice" + ] + ) + , ( "type" , MetaString "article-journal" ) + , ( "volume" , MetaString "2" ) + ]) + , MetaMap + (fromList + [ ( "author" + , MetaList + [ MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Koh" ) + , ( "given" + , MetaString "Kyungwon" + ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + , MetaMap + (fromList + [ ( "dropping-particle" + , MetaString "" + ) + , ( "family" , MetaString "Abbas" ) + , ( "given" , MetaString "June" ) + , ( "non-dropping-particle" + , MetaString "" + ) + , ( "suffix" , MetaString "" ) + ]) + ] + ) + , ( "container-title" + , MetaInlines + [ Str "Journal" + , Space + , Str "of" + , Space + , Str "Research" + , Space + , Str "on" + , Space + , Str "Libraries" + , Space + , Str "\\&" + , Space + , Str "Young" + , Space + , Str "Adults" + ] + ) + , ( "id" , MetaString "ITEM-2" ) + , ( "issue" , MetaString "4" ) + , ( "issued" , MetaString "2015" ) + , ( "title" + , MetaInlines + [ Str "Future" + , Space + , Str "of" + , Space + , Str "library" + , Space + , Str "and" + , Space + , Str "museum" + , Space + , Str "services" + , Space + , Str "supporting" + , Space + , Str "teen" + , Space + , Str "learning:" + , Space + , Str "Perceptions" + , Space + , Str "of" + , Space + , Str "professionals" + , Space + , Str "in" + , Space + , Str "learning" + , Space + , Str "labs" + , Space + , Str "and" + , Space + , Str "makerspaces" + ] + ) + , ( "type" , MetaString "article-journal" ) + , ( "volume" , MetaString "6" ) + ]) + ] + ) + ] + } + [ Para + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "Mendeley" + , Space + , Str "test" + , Space + , Cite + [ Citation + { citationId = "ITEM-1" + , citationPrefix = [ Str "prefix" ] + , citationSuffix = + [ Space , Str "123" , Space , Str "suffix" ] + , citationMode = NormalCitation + , citationNoteNum = 0 + , citationHash = 0 + } + ] + [ Str "(prefix" + , Space + , Str "Hadwen-Bennett" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2018," + , Space + , Str "p." + , Space + , Str "123" + , Space + , Str "suffix)" + ] + , Str "." + ] + , Para + [ Str "Another" + , Space + , Str "test" + , Space + , Cite + [ Citation + { citationId = "ITEM-1" + , citationPrefix = [ Str "prefix" ] + , citationSuffix = + [ Space , Str "10-20" , Space , Str "suffix" ] + , citationMode = NormalCitation + , citationNoteNum = 0 + , citationHash = 0 + } + ] + [ Str "(prefix" + , Space + , Str "Seo," + , Space + , Str "2019," + , Space + , Str "pp." + , Space + , Str "10\8211\&20" + , Space + , Str "suffix)" + ] + , Str "." + ] + , Para + [ Str "The" + , Space + , Str "last" + , Space + , Str "test" + , Space + , Cite + [ Citation + { citationId = "ITEM-1" + , citationPrefix = [] + , citationSuffix = [] + , citationMode = NormalCitation + , citationNoteNum = 0 + , citationHash = 0 + } + , Citation + { citationId = "ITEM-2" + , citationPrefix = [] + , citationSuffix = [] + , citationMode = NormalCitation + , citationNoteNum = 0 + , citationHash = 0 + } + ] + [ Str "(Koh" + , Space + , Str "&" + , Space + , Str "Abbas," + , Space + , Str "2015;" + , Space + , Str "Lee" + , Space + , Str "et" + , Space + , Str "al.," + , Space + , Str "2011)" + ] + , Str "." + ] + , Header 1 ( "references" , [] , [] ) [ Str "References" ] + ]