From a1e012eb40c116be98cfbf1da792f9fe22f94b8a Mon Sep 17 00:00:00 2001
From: Lennart Spitzner <lsp@informatik.uni-kiel.de>
Date: Sat, 6 Aug 2016 14:16:56 +0200
Subject: [PATCH] Fix testcases/Add regression tests for latest fixes

---
 src-unittests/IdentityTests.hs | 38 +++++++++++++++++++++++++++-------
 1 file changed, 31 insertions(+), 7 deletions(-)

diff --git a/src-unittests/IdentityTests.hs b/src-unittests/IdentityTests.hs
index 5352c96..482a357 100644
--- a/src-unittests/IdentityTests.hs
+++ b/src-unittests/IdentityTests.hs
@@ -444,17 +444,15 @@ basicExpressionTests = do
       |]
     it "2" $ roundTripEqual $
       [text|
-      func =
+      func = lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
+        lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
         lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
-          lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
-          lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
       |]
     it "3" $ roundTripEqual $
       [text|
-      func =
-        lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd lakjsdlajsdljas
-                                                      lakjsdlajsdljas
-                                                      lakjsdlajsdljas
+      func = lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd lakjsdlajsdljas
+                                                           lakjsdlajsdljas
+                                                           lakjsdlajsdljas
       |]
   describe "sections" $ do
     it "left" $ roundTripEqual $
@@ -603,3 +601,29 @@ regressionTests = do
                             -- used to accurately calc placing of the current-line
                             LayoutDesc -> Int
       |]
+  it "some indentation thingy" $ do
+    roundTripEqual $
+      [text|
+      func =
+        ( lkjadljasldjalskdjaldjalsdjkalsdjlaksdjlasjdlajsaldskj
+        $ abc
+        $ def
+        $ ghi
+        $ jkl
+        )
+      |]
+  it "parenthesized operator" $ do
+    roundTripEqual $
+      [text|
+      buildG bounds0 edges0 = accumArray (flip (:)) [] bounds0 (map reassoc edges0)
+       where
+        reassoc (v, e, w) = (v, (e, w))
+      |]
+  it "record pattern matching stuff" $ do
+    roundTripEqual $
+      [text|
+      downloadRepoPackage = case repo of
+        RepoLocal {..}    -> return ()
+        RepoLocal { abc } -> return ()
+        RepoLocal{}       -> return ()
+      |]