From c0ddcb359e549b8631ec22c4aa8d97f72298be87 Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Sat, 25 Oct 2014 16:00:27 -0400 Subject: [PATCH] Docx reader: add tests for i18n headers. This tests blockquotes and headers in Russian. Previous tests make sure that this doesn't produce a regression in en-us Header and Blockquotes. --- tests/Tests/Readers/Docx.hs | 4 ++++ tests/docx/i18n_blocks.docx | Bin 0 -> 13680 bytes tests/docx/i18n_blocks.native | 8 ++++++++ 3 files changed, 12 insertions(+) create mode 100644 tests/docx/i18n_blocks.docx create mode 100644 tests/docx/i18n_blocks.native diff --git a/tests/Tests/Readers/Docx.hs b/tests/Tests/Readers/Docx.hs index 584e7cc94..3be80f9f5 100644 --- a/tests/Tests/Readers/Docx.hs +++ b/tests/Tests/Readers/Docx.hs @@ -159,6 +159,10 @@ tests = [ testGroup "inlines" "headers in other languages" "docx/danish_headers.docx" "docx/danish_headers.native" + , testCompare + "i18n blocks (headers and blockquotes)" + "docx/i18n_blocks.docx" + "docx/i18n_blocks.native" , testCompare "lists" "docx/lists.docx" diff --git a/tests/docx/i18n_blocks.docx b/tests/docx/i18n_blocks.docx new file mode 100644 index 0000000000000000000000000000000000000000..36341c363b76b92bcfbf525eb758fb5ce8702855 GIT binary patch literal 13680 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 literal 0 HcmV?d00001 diff --git a/tests/docx/i18n_blocks.native b/tests/docx/i18n_blocks.native new file mode 100644 index 000000000..582a7360d --- /dev/null +++ b/tests/docx/i18n_blocks.native @@ -0,0 +1,8 @@ +[Header 1 ("this-is-heading-1",[],[]) [Str "This",Space,Str "is",Space,Str "Heading",Space,Str "1"] +,Header 2 ("this-is-heading-2",[],[]) [Str "This",Space,Str "is",Space,Str "Heading",Space,Str "2"] +,BlockQuote + [Para [Str "This",Space,Str "is",Space,Str "Quote"] + ,Para [Str "This",Space,Str "is",Space,Str "Block",Space,Str "Text"]] +,BulletList + [[Para [Str "This",Space,Str "is",Space,Str "list",Space,Str "item",Space,Str "1"]] + ,[Para [Str "This",Space,Str "is",Space,Str "list",Space,Str "item",Space,Str "2"]]]]