From 0833daff4af7ce17aa0a77528731f30ec127bc68 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sat, 29 Jan 2011 10:03:00 -0800
Subject: [PATCH] Added Tests.Shared with normalize round-trip tests.

---
 pandoc.cabal          |  1 +
 tests/Tests/Shared.hs | 21 +++++++++++++++++++++
 tests/test-pandoc.hs  |  2 ++
 3 files changed, 24 insertions(+)
 create mode 100644 tests/Tests/Shared.hs

diff --git a/pandoc.cabal b/pandoc.cabal
index e9c2a3b9d..ec0149e33 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -355,6 +355,7 @@ Executable test-pandoc
     Other-Modules:    Tests.Old
                       Tests.Helpers
                       Tests.Arbitrary
+                      Tests.Shared
                       Tests.Readers.LaTeX
                       Tests.Readers.Markdown
                       Tests.Readers.RST
diff --git a/tests/Tests/Shared.hs b/tests/Tests/Shared.hs
new file mode 100644
index 000000000..c35a158c1
--- /dev/null
+++ b/tests/Tests/Shared.hs
@@ -0,0 +1,21 @@
+module Tests.Shared (tests) where
+
+import Text.Pandoc.Definition
+import Text.Pandoc.Shared
+import Test.Framework
+import Tests.Helpers
+import Tests.Arbitrary()
+
+tests :: [Test]
+tests = [ testGroup "normalize"
+          [ property "p_normalize_blocks_rt" p_normalize_blocks_rt
+          , property "p_normalize_inlines_rt" p_normalize_inlines_rt
+          ]
+        ]
+
+p_normalize_blocks_rt :: [Block] -> Bool
+p_normalize_blocks_rt bs = normalize bs == normalize (normalize bs)
+
+p_normalize_inlines_rt :: [Inline] -> Bool
+p_normalize_inlines_rt ils = normalize ils == normalize (normalize ils)
+
diff --git a/tests/test-pandoc.hs b/tests/test-pandoc.hs
index ea499dac6..b7e4f7bd5 100644
--- a/tests/test-pandoc.hs
+++ b/tests/test-pandoc.hs
@@ -10,9 +10,11 @@ import qualified Tests.Readers.Markdown
 import qualified Tests.Readers.RST
 import qualified Tests.Writers.ConTeXt
 import qualified Tests.Writers.Native
+import qualified Tests.Shared
 
 tests :: [Test]
 tests = [ testGroup "Old" Tests.Old.tests
+        , testGroup "Shared" Tests.Shared.tests
         , testGroup "Writers"
           [ testGroup "Native" Tests.Writers.Native.tests
           , testGroup "ConTeXt" Tests.Writers.ConTeXt.tests