From d99776ea0405143d1b95f740a68b2a67cb0e73dd Mon Sep 17 00:00:00 2001
From: Alexander Krotov <ilabdsf@gmail.com>
Date: Sat, 28 Oct 2017 18:13:51 +0300
Subject: [PATCH] Add new style FB2 tests

---
 pandoc.cabal              |  1 +
 test/Tests/Writers/FB2.hs | 34 ++++++++++++++++++++++++++++++++++
 test/test-pandoc.hs       |  2 ++
 3 files changed, 37 insertions(+)
 create mode 100644 test/Tests/Writers/FB2.hs

diff --git a/pandoc.cabal b/pandoc.cabal
index 3a2e6df3e..bb375b9f5 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -594,6 +594,7 @@ test-suite test-pandoc
                   Tests.Writers.RST
                   Tests.Writers.TEI
                   Tests.Writers.Muse
+                  Tests.Writers.FB2
   ghc-options:  -rtsopts -Wall -fno-warn-unused-do-bind -threaded
   default-language: Haskell98
 
diff --git a/test/Tests/Writers/FB2.hs b/test/Tests/Writers/FB2.hs
new file mode 100644
index 000000000..77ab4a82c
--- /dev/null
+++ b/test/Tests/Writers/FB2.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE OverloadedStrings #-}
+module Tests.Writers.FB2 (tests) where
+
+import Test.Tasty
+import Tests.Helpers
+import Text.Pandoc
+import Text.Pandoc.Arbitrary ()
+import Text.Pandoc.Builder
+
+fb2 :: String -> String
+fb2 x = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" ++
+        "<FictionBook xmlns=\"http://www.gribuser.ru/xml/fictionbook/2.0\" xmlns:l=\"http://www.w3.org/1999/xlink\"><description><title-info /><document-info><program-used>pandoc</program-used></document-info></description><body><title><p /></title><annotation><p></p></annotation><section>" ++ x ++ "</section></body></FictionBook>"
+
+infix 4 =:
+(=:) :: (ToString a, ToPandoc a)
+     => String -> (a, String) -> TestTree
+(=:) = test (purely (writeFB2 def) . toPandoc)
+
+tests :: [TestTree]
+tests = [ testGroup "block elements"
+          ["para"          =: para "Lorem ipsum cetera."
+                           =?> fb2 "<p>Lorem ipsum cetera.</p>"
+          ]
+        , testGroup "inlines"
+          [
+            "Emphasis"      =:  emph ("emphasized")
+                            =?> fb2 "<emphasis>emphasized</emphasis>"
+          ]
+        , "bullet list" =: bulletList [ plain $ text "first"
+                                      , plain $ text "second"
+                                      , plain $ text "third"
+                                      ]
+                        =?> fb2 "<p>\x2022 first</p><p>\x2022 second</p><p>\x2022 third</p>"
+         ]
diff --git a/test/test-pandoc.hs b/test/test-pandoc.hs
index 358354e42..e1ce1bc70 100644
--- a/test/test-pandoc.hs
+++ b/test/test-pandoc.hs
@@ -23,6 +23,7 @@ import qualified Tests.Writers.AsciiDoc
 import qualified Tests.Writers.ConTeXt
 import qualified Tests.Writers.Docbook
 import qualified Tests.Writers.Docx
+import qualified Tests.Writers.FB2
 import qualified Tests.Writers.HTML
 import qualified Tests.Writers.LaTeX
 import qualified Tests.Writers.Markdown
@@ -52,6 +53,7 @@ tests = testGroup "pandoc tests" [ Tests.Command.tests
           , testGroup "RST" Tests.Writers.RST.tests
           , testGroup "TEI" Tests.Writers.TEI.tests
           , testGroup "Muse" Tests.Writers.Muse.tests
+          , testGroup "FB2" Tests.Writers.FB2.tests
           ]
         , testGroup "Readers"
           [ testGroup "LaTeX" Tests.Readers.LaTeX.tests