From ebcd04f57a4693447a47891c4cf3654e023d4f13 Mon Sep 17 00:00:00 2001
From: Jesse Rosenthal <jrosenthal@jhu.edu>
Date: Sat, 27 Jan 2018 11:46:41 -0500
Subject: [PATCH] Docx writer tests: Add tests for custom styles

---
 test/Tests/Writers/Docx.hs                      |  10 ++++++++++
 ...undtrip-start.native => custom_style.native} |   0
 test/docx/golden/custom_style_no_reference.docx | Bin 0 -> 9724 bytes
 test/docx/golden/custom_style_reference.docx    | Bin 0 -> 12118 bytes
 4 files changed, 10 insertions(+)
 rename test/docx/{custom-style-roundtrip-start.native => custom_style.native} (100%)
 create mode 100644 test/docx/golden/custom_style_no_reference.docx
 create mode 100644 test/docx/golden/custom_style_reference.docx

diff --git a/test/Tests/Writers/Docx.hs b/test/Tests/Writers/Docx.hs
index 57e55e354..c9bc42de4 100644
--- a/test/Tests/Writers/Docx.hs
+++ b/test/Tests/Writers/Docx.hs
@@ -144,4 +144,14 @@ tests = [ testGroup "inlines"
             "docx/comments.native"
             "docx/golden/comments.docx"
           ]
+        , testGroup "custom styles"
+          [ docxTest "custom styles without reference.docx"
+            def
+            "docx/custom_style.native"
+            "docx/golden/custom_style_no_reference.docx"
+          , docxTest "custom styles without reference.docx"
+            def{writerReferenceDoc = Just "docx/custom-style-reference.docx"}
+            "docx/custom_style.native"
+            "docx/golden/custom_style_reference.docx"
+          ]
         ]
diff --git a/test/docx/custom-style-roundtrip-start.native b/test/docx/custom_style.native
similarity index 100%
rename from test/docx/custom-style-roundtrip-start.native
rename to test/docx/custom_style.native
diff --git a/test/docx/golden/custom_style_no_reference.docx b/test/docx/golden/custom_style_no_reference.docx
new file mode 100644
index 0000000000000000000000000000000000000000..78f56893cdad3caa6c54fdf4a5b85725e9474be7
GIT binary patch
literal 9724
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
a@tTpBf_YA=zk08zfZ^wZoRIvlfBy$?H~@11

literal 0
HcmV?d00001

diff --git a/test/docx/golden/custom_style_reference.docx b/test/docx/golden/custom_style_reference.docx
new file mode 100644
index 0000000000000000000000000000000000000000..dfc2c960b69f3b6d079e9002b8ac458a8a0da5af
GIT binary patch
literal 12118
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
EKLk0n0RR91

literal 0
HcmV?d00001