11{-# LANGUAGE OverloadedStrings #-}
2+
23module Purepur.Generate where
34
45import Control.Applicative
@@ -29,7 +30,7 @@ import Prelude
2930
3031generateTest :: (FilePath , D. Module ) -> Except ParseError (P. ModuleName , T. Text )
3132generateTest (filePath, D. Module (P. ModuleName sourceModName) maybeComments declarations _) = do
32- let name = P. ModuleName $ P. ProperName " Test" : P. ProperName " DocTest" : sourceModName
33+ let name = P. moduleNameFromString $ " Test. DocTest. " <> sourceModName
3334 moduleComment <- generateTestFromMarkdown (P. runModuleName name) maybeComments
3435 declarationComments <- mconcat <$> mapM generateTestForDeclaration declarations
3536
@@ -71,25 +72,23 @@ generateTestFromMarkdownFile (path, textContent) = do
7172 where
7273 moduleNameFromPath :: FilePath -> P. ModuleName
7374 moduleNameFromPath filePath =
74- P. ModuleName $
75- P. ProperName " Test"
76- : P. ProperName " MarkdownExamples "
77- : fmap P. ProperName
75+ P. moduleNameFromString $
76+ " Test.MarkdownExamples. "
77+ <> T. intercalate
78+ " . "
7879 ( filter (/= " " )
79- $ T. splitOn " /"
80- $ T. replace " ." " "
81- $ T. pack (pTraceShowId filePath)
80+ $ T. splitOn " /"
81+ $ T. replace " ." " "
82+ $ T. pack (pTraceShowId filePath)
8283 )
8384
8485-- generates a File, that imports all others tests and runs them.
8586generateSummaryFile :: [P. ModuleName ] -> (PurepurDocument , P. ModuleName )
86- generateSummaryFile testModules = (doc, P. ModuleName [ P. ProperName " DocTest" ] )
87+ generateSummaryFile testModules = (doc, P. moduleNameFromString " DocTest" )
8788 where
8889 doc :: PurepurDocument
8990 doc = mconcat $ documentFromModuleName <$> testModules
90-
9191 documentFromModuleName :: P. ModuleName -> PurepurDocument
9292 documentFromModuleName mod =
9393 documentFromImport (mod , P. Implicit , Just mod )
94- <>
95- documentFromSpec (ReferenceSpec $ P. mkQualified (P. Ident " main" ) mod )
94+ <> documentFromSpec (ReferenceSpec $ P. mkQualified (P. Ident " main" ) mod )
0 commit comments