diff options
author | Akos Marton <makos999@protonmail.ch> | 2020-02-15 12:24:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-15 12:24:11 +0100 |
commit | ab85690eb35dec46c8eb80a930337249f34b9f80 (patch) | |
tree | 59a73cef8a09bcd28269a58a50642bd8ca533382 /tests | |
parent | 41dcda2a34b5f12f3fa91480bfe2aaeb4afa90e5 (diff) | |
download | stylish-haskell-ab85690eb35dec46c8eb80a930337249f34b9f80.tar.gz |
Add -r flag to recursively find Haskell files
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Language/Haskell/Stylish/Tests.hs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/Language/Haskell/Stylish/Tests.hs b/tests/Language/Haskell/Stylish/Tests.hs index 59ca92b..e7faa9b 100644 --- a/tests/Language/Haskell/Stylish/Tests.hs +++ b/tests/Language/Haskell/Stylish/Tests.hs @@ -5,6 +5,9 @@ module Language.Haskell.Stylish.Tests -------------------------------------------------------------------------------- +import Data.List (sort) +import System.Directory (createDirectory) +import System.FilePath (normalise, (</>)) import Test.Framework (Test, testGroup) import Test.Framework.Providers.HUnit (testCase) import Test.HUnit (Assertion, (@?=)) @@ -21,6 +24,9 @@ tests = testGroup "Language.Haskell.Stylish.Step.Tabs.Tests" [ testCase "case 01" case01 , testCase "case 02" case02 , testCase "case 03" case03 + , testCase "case 04" case04 + , testCase "case 05" case05 + , testCase "case 06" case06 ] @@ -68,3 +74,44 @@ case03 = (@?= result) =<< format Nothing (Just fileLocation) input "Language.Haskell.Stylish.Parse.parseModule: could not parse " <> fileLocation <> ": ParseFailed (SrcLoc \"<unknown>.hs\" 2 1) \"Parse error: EOF\"" + + +-------------------------------------------------------------------------------- +-- | When providing current dir including folders and files. +case04 :: Assertion +case04 = withTestDirTree $ do + createDirectory aDir >> writeFile c fileCont + mapM_ (flip writeFile fileCont) fs + result <- findHaskellFiles False input + sort result @?= (sort $ map normalise expected) + where + input = c : fs + fs = ["b.hs", "a.hs"] + c = aDir </> "c.hs" + aDir = "aDir" + expected = ["a.hs", "b.hs", c] + fileCont = "" + + +-------------------------------------------------------------------------------- +-- | When the input item is not file, do not recurse it. +case05 :: Assertion +case05 = withTestDirTree $ do + mapM_ (flip writeFile "") input + result <- findHaskellFiles False input + result @?= expected + where + input = ["b.hs"] + expected = map normalise input + + +-------------------------------------------------------------------------------- +-- | Empty input should result in empty output. +case06 :: Assertion +case06 = withTestDirTree $ do + mapM_ (flip writeFile "") input + result <- findHaskellFiles False input + result @?= expected + where + input = [] + expected = input |