From a2b6ab847cb1c997c6ae7b8ed36f543a7ed90ecd Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Wed, 25 Jun 2014 11:09:28 -0400 Subject: [PATCH] Docx reader: Add tests for basic track changes This is what seems like the sensible default: read in insertions, and ignore deletions. In the future, it would be good if options were available for either taking in deletions or keeping both in some scriptable format. --- tests/Tests/Readers/Docx.hs | 10 ++++++++++ tests/docx.track_changes_deletion.docx | Bin 0 -> 13350 bytes .../docx.track_changes_deletion_only_ins.native | 1 + tests/docx.track_changes_insertion.docx | Bin 0 -> 12956 bytes ...docx.track_changes_insertion_only_ins.native | 1 + 5 files changed, 12 insertions(+) create mode 100644 tests/docx.track_changes_deletion.docx create mode 100644 tests/docx.track_changes_deletion_only_ins.native create mode 100644 tests/docx.track_changes_insertion.docx create mode 100644 tests/docx.track_changes_insertion_only_ins.native diff --git a/tests/Tests/Readers/Docx.hs b/tests/Tests/Readers/Docx.hs index 4d062bbc0..f34e123ed 100644 --- a/tests/Tests/Readers/Docx.hs +++ b/tests/Tests/Readers/Docx.hs @@ -122,5 +122,15 @@ tests = [ testGroup "inlines" "docx.codeblock.native" ] + , testGroup "track changes" + [ testCompare + "insert insertion (insertions only)" + "docx.track_changes_insertion.docx" + "docx.track_changes_insertion_only_ins.native" + , testCompare + "skip deletion (insertions only)" + "docx.track_changes_deletion.docx" + "docx.track_changes_deletion_only_ins.native" + ] ] diff --git a/tests/docx.track_changes_deletion.docx b/tests/docx.track_changes_deletion.docx new file mode 100644 index 0000000000000000000000000000000000000000..5cfdbeed87e7f727292cf537229a276a4b82efb7 GIT binary patch literal 13350 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 literal 0 HcmV?d00001 diff --git a/tests/docx.track_changes_deletion_only_ins.native b/tests/docx.track_changes_deletion_only_ins.native new file mode 100644 index 000000000..205c67810 --- /dev/null +++ b/tests/docx.track_changes_deletion_only_ins.native @@ -0,0 +1 @@ +[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "text",Space,Str "with",Space,Str "a",Space,Str "deletion."]] diff --git a/tests/docx.track_changes_insertion.docx b/tests/docx.track_changes_insertion.docx new file mode 100644 index 0000000000000000000000000000000000000000..fbdc9003e748e74546e3f45482fdfacefb7efca3 GIT binary patch literal 12956 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 literal 0 HcmV?d00001 diff --git a/tests/docx.track_changes_insertion_only_ins.native b/tests/docx.track_changes_insertion_only_ins.native new file mode 100644 index 000000000..ca2e46df0 --- /dev/null +++ b/tests/docx.track_changes_insertion_only_ins.native @@ -0,0 +1 @@ +[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "text",Space,Str "with",Space,Str "two",Space,Str "exciting",Space,Str "insertions."]]