From ed43513087b514a5240fde04784dbf8709182513 Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal <jrosenthal@jhu.edu> Date: Sun, 22 Jun 2014 01:58:41 -0400 Subject: [PATCH] Docx reader tests: add tests for normalization deep in blocks. --- tests/Tests/Readers/Docx.hs | 4 ++++ tests/docx.deep_normalize.docx | Bin 0 -> 29246 bytes tests/docx.deep_normalize.native | 6 ++++++ 3 files changed, 10 insertions(+) create mode 100644 tests/docx.deep_normalize.docx create mode 100644 tests/docx.deep_normalize.native diff --git a/tests/Tests/Readers/Docx.hs b/tests/Tests/Readers/Docx.hs index 74184efc6..ffb079eee 100644 --- a/tests/Tests/Readers/Docx.hs +++ b/tests/Tests/Readers/Docx.hs @@ -78,6 +78,10 @@ tests = [ testGroup "inlines" "normalizing inlines" "docx.normalize.docx" "docx.normalize.native" + , testCompare + "normalizing inlines deep inside blocks" + "docx.deep_normalize.docx" + "docx.deep_normalize.native" ] , testGroup "blocks" [ testCompare diff --git a/tests/docx.deep_normalize.docx b/tests/docx.deep_normalize.docx new file mode 100644 index 0000000000000000000000000000000000000000..7626d59ceffdba2a9aa3dc3a48985a199c7906f0 GIT binary patch literal 29246 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 literal 0 HcmV?d00001 diff --git a/tests/docx.deep_normalize.native b/tests/docx.deep_normalize.native new file mode 100644 index 000000000..9b2089ec8 --- /dev/null +++ b/tests/docx.deep_normalize.native @@ -0,0 +1,6 @@ +[OrderedList (1,Decimal,OneParen) + [[Para [Str "This",Space,Str "is",Space,Str "at",Space,Str "the",Space,Str "first",Space,Str "level"] + ,OrderedList (1,LowerAlpha,DefaultDelim) + [[Para [Str "This",Space,Str "is",Space,Str "at",Space,Str "the",Space,Str "second",Space,Str "level"] + ,OrderedList (1,LowerRoman,DefaultDelim) + [[Para [Str "This",Space,Str "is",Space,Emph [Str "at",Space,Strong [Str "the",Space,Str "third",Space,Str "level"],Str ",",Space,Str "and",Space,Str "I",Space,Str "want",Space,Str "to"],Space,Str "test",Space,Str "normalization",Space,Str "here."]]]]]]]]