From 20dbe3a444a79dc5a8e0bf564b987db5393d127b Mon Sep 17 00:00:00 2001 From: Jonatan Borkowski Date: Mon, 5 Oct 2020 00:42:02 +0200 Subject: Add a test to cover Imports duplicate removal Fixes #184 --- .../Language/Haskell/Stylish/Step/Imports/Tests.hs | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/Language/Haskell/Stylish/Step/Imports/Tests.hs b/tests/Language/Haskell/Stylish/Step/Imports/Tests.hs index 474de66..bb56bab 100644 --- a/tests/Language/Haskell/Stylish/Step/Imports/Tests.hs +++ b/tests/Language/Haskell/Stylish/Step/Imports/Tests.hs @@ -58,6 +58,7 @@ tests = testGroup "Language.Haskell.Stylish.Step.Imports.Tests" , testCase "case 25" case25 , testCase "case 26 (issue 185)" case26 , testCase "case 27" case27 + , testCase "case 28" case28 ] @@ -878,3 +879,35 @@ case27 = expected @=? testSnippet (step Nothing $ fromImportAlign Global) input , "" , "herp = putStrLn \"import Hello world\"" ] + + +-------------------------------------------------------------------------------- +case28 :: Assertion +case28 = expected @=? testSnippet (step (Just 80) $ fromImportAlign Global) input' + where + expected = Snippet + [ "import Control.Monad" + , "import qualified Data.Aeson as JSON" + , "import Data.Default.Class (Default (def))" + , "" + , "import Data.Maybe (Maybe (Just, Nothing))" + , "import qualified Data.Maybe.Extra (Maybe (Just, Nothing))" + , "" + , "import Data.Foo (Foo (Bar, Foo), Goo (Goo))" + , "import Data.Set (empty, intersect, nub)" + ] + input' = Snippet + [ "import Data.Default.Class (Default(def))" + , "import qualified Data.Aeson as JSON" + , "import qualified Data.Aeson as JSON" + , "import Control.Monad" + , "import Control.Monad" + , "" + , "import Data.Maybe (Maybe (Just, Nothing))" + , "import qualified Data.Maybe.Extra (Maybe(Just, Nothing))" + , "" + , "import Data.Foo (Foo (Foo,Bar), Goo(Goo))" + , "import Data.Foo (Foo (Foo,Bar))" + , "import Data.Set (empty, intersect)" + , "import Data.Set (empty, nub)" + ] -- cgit v1.2.3