]> Git — Sourcephile - julm/worksheets.git/blob - tests/Utils/Tests.hs
update
[julm/worksheets.git] / tests / Utils / Tests.hs
1 {-# LANGUAGE OverloadedLists #-}
2
3 module Utils.Tests where
4
5 import Data.ByteString.Builder qualified as ByteString.Builder
6 import Data.GenValidity.Map ()
7 import Data.GenValidity.Sequence ()
8 import Data.GenValidity.Set ()
9 import Data.GenValidity.Text ()
10 import Data.List qualified as List
11 import Data.Map.Strict qualified as Map
12 import Data.Set qualified as Set
13 import Data.Text qualified as Text
14 import Data.Text.Encoding qualified as Text
15 import Data.Text.Lazy.Encoding qualified as Text.Lazy
16 import Data.Text.Short qualified as ShortText
17 import Data.Validity.Map ()
18 import Data.Validity.Set ()
19 import Data.Validity.Text ()
20 import Language
21 import Language.French
22 import Language.French qualified as French
23 import Language.Pronunciation qualified as Pron
24 import Paths_worksheets qualified as Self
25 import System.Directory qualified as IO
26 import System.FilePath (joinPath, pathSeparator, (<.>), (</>))
27 import System.FilePath.Posix qualified as File
28 import System.IO qualified as IO
29 import Test.Syd
30 import Text.Blaze.Html5.Attributes qualified as HA
31 import Wiktionary qualified
32 import Worksheets.Utils.HTML (Html, className, classes, cm, styles, (!))
33 import Worksheets.Utils.HTML qualified as HTML
34 import Worksheets.Utils.IPA qualified as IPA
35 import Worksheets.Utils.Paper qualified as Paper
36 import Worksheets.Utils.Prelude
37 import Worksheets.Utils.SQL qualified as SQL
38 import Prelude (error, even, mod)
39
40 goldenPath title ext = do
41 descrPath <- getTestDescriptionPath
42 let dirPath =
43 List.reverse descrPath
44 <&> Text.unpack
45 . Text.replace
46 (Text.pack ".")
47 (Text.singleton pathSeparator)
48 & joinPath
49 return $ "tests" </> dirPath </> title <.> ext