1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE OverloadedLists #-}
module UnitTests.Distribution.Client.Init.FileCreators
( tests
) where
import Test.Tasty
import Test.Tasty.HUnit
import UnitTests.Distribution.Client.Init.Utils
import Distribution.Client.Init.FileCreators
import Distribution.Client.Init.NonInteractive.Command
import Distribution.Client.Init.Types
import Distribution.Client.Types
import Distribution.Simple
import Distribution.Simple.Flag
import Distribution.Simple.PackageIndex
import Distribution.Verbosity
tests
:: Verbosity
-> InitFlags
-> Compiler
-> InstalledPackageIndex
-> SourcePackageDb
-> TestTree
tests _v _initFlags comp pkgIx srcDb =
testGroup "Distribution.Client.Init.FileCreators"
[ testCase "Check . as source directory" $ do
let dummyFlags' = dummyFlags
{ packageType = Flag LibraryAndExecutable
, minimal = Flag False
, overwrite = Flag False
, packageDir = Flag "/home/test/test-package"
, extraDoc = Flag ["CHANGELOG.md"]
, exposedModules = Flag []
, otherModules = Flag []
, otherExts = Flag []
, buildTools = Flag []
, mainIs = Flag "quxApp/Main.hs"
, dependencies = Flag []
, sourceDirs = Flag ["."]
}
inputs =
-- createProject stuff
[ "Foobar"
, "foobar@qux.com"
, "True"
, "[\"quxTest/Main.hs\"]"
-- writeProject stuff
-- writeLicense
, "2021"
-- writeFileSafe
, "True"
-- findNewPath
, "False"
-- writeChangeLog
-- writeFileSafe
, "False"
-- prepareLibTarget
-- writeDirectoriesSafe
, "True"
-- findNewPath
, "False"
-- prepareExeTarget
-- writeDirectoriesSafe
, "False"
-- writeFileSafe
, "False"
-- prepareTestTarget
-- writeDirectoriesSafe
, "False"
-- writeFileSafe
, "False"
-- writeCabalFile
-- writeFileSafe
, "False"
]
case flip _runPrompt inputs $ do
projSettings <- createProject comp silent pkgIx srcDb dummyFlags'
writeProject projSettings of
Left (BreakException ex) -> assertFailure $ show ex
Right _ -> return ()
]
|