20 lines
722 B
Haskell
20 lines
722 B
Haskell
import SortImports
|
|
import SortImports.Types
|
|
import Test.Tasty
|
|
import Test.Tasty.HUnit
|
|
|
|
main :: IO ()
|
|
main = defaultMain $ testGroup "Tests" [unitTests]
|
|
|
|
unitTests :: TestTree
|
|
unitTests = testGroup "Unit tests"
|
|
[ testCase "" $
|
|
lineType "not a module" @?= CodeLine "not a module"
|
|
, testCase "bare" $
|
|
lineType "import ModuleName" @?= ModuleLine (Module Nothing "ModuleName" Nothing Nothing)
|
|
, testCase "pre-qualified" $
|
|
lineType "import qualified ModuleName" @?= ModuleLine (Module (Just Qualified_Pre) "ModuleName" Nothing Nothing)
|
|
, testCase "post-qualified" $
|
|
lineType "import ModuleName qualified as Mod" @?= ModuleLine (Module (Just Qualified_Post) "ModuleName" (Just "Mod") Nothing)
|
|
]
|