From 9b954fa855158d99b4ddba7c3ffe7f2fed7ce25f Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Mon, 23 Jun 2014 15:40:34 -0400 Subject: [PATCH] Add test for correctly trimming spaces in formatting. This used to be fixed in the tree-walking. We need to make sure we're doing it right now. --- tests/Tests/Readers/Docx.hs | 4 ++++ tests/docx.trailing_spaces_in_formatting.docx | Bin 0 -> 12916 bytes tests/docx.trailing_spaces_in_formatting.native | 1 + 3 files changed, 5 insertions(+) create mode 100644 tests/docx.trailing_spaces_in_formatting.docx create mode 100644 tests/docx.trailing_spaces_in_formatting.native diff --git a/tests/Tests/Readers/Docx.hs b/tests/Tests/Readers/Docx.hs index ffb079eee..a42dc31e9 100644 --- a/tests/Tests/Readers/Docx.hs +++ b/tests/Tests/Readers/Docx.hs @@ -82,6 +82,10 @@ tests = [ testGroup "inlines" "normalizing inlines deep inside blocks" "docx.deep_normalize.docx" "docx.deep_normalize.native" + , testCompare + "move trailing spaces outside of formatting" + "docx.trailing_spaces_in_formatting.docx" + "docx.trailing_spaces_in_formatting.native" ] , testGroup "blocks" [ testCompare diff --git a/tests/docx.trailing_spaces_in_formatting.docx b/tests/docx.trailing_spaces_in_formatting.docx new file mode 100644 index 0000000000000000000000000000000000000000..ebe7404a93a6a0e2fb0695a04f857841b10b2a2e GIT binary patch literal 12916 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 literal 0 HcmV?d00001 diff --git a/tests/docx.trailing_spaces_in_formatting.native b/tests/docx.trailing_spaces_in_formatting.native new file mode 100644 index 000000000..46ea9bca8 --- /dev/null +++ b/tests/docx.trailing_spaces_in_formatting.native @@ -0,0 +1 @@ +[Para [Str "Turn",Space,Str "my",Space,Emph [Str "formatting"],Space,Str "off",Space,Str "after",Space,Str "the",Space,Str "spaces."]]