monomer/test/unit/Spec.hs

126 lines
4.0 KiB
Haskell
Raw Normal View History

2020-08-05 08:11:09 +03:00
-- {-# OPTIONS_GHC -F -pgmF hspec-discover #-}
import Test.Hspec
import qualified SDL
import qualified SDL.Raw as Raw
import qualified Monomer.Common.CursorIconSpec as CursorIconSpec
import qualified Monomer.Widgets.CompositeSpec as CompositeSpec
import qualified Monomer.Widgets.ContainerSpec as ContainerSpec
2020-08-05 08:11:09 +03:00
import qualified Monomer.Widgets.Animation.FadeSpec as AnimationFadeSpec
2021-03-06 23:58:58 +03:00
import qualified Monomer.Widgets.Animation.SlideSpec as AnimationSlideSpec
2021-03-05 22:14:32 +03:00
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Containers.AlertSpec as AlertSpec
import qualified Monomer.Widgets.Containers.BoxSpec as BoxSpec
import qualified Monomer.Widgets.Containers.ConfirmSpec as ConfirmSpec
import qualified Monomer.Widgets.Containers.DragDropSpec as DragDropSpec
import qualified Monomer.Widgets.Containers.DropdownSpec as DropdownSpec
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Containers.GridSpec as GridSpec
import qualified Monomer.Widgets.Containers.KeystrokeSpec as KeystrokeSpec
import qualified Monomer.Widgets.Containers.ScrollSpec as ScrollSpec
2021-05-16 02:57:50 +03:00
import qualified Monomer.Widgets.Containers.SelectListSpec as SelectListSpec
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Containers.SplitSpec as SplitSpec
import qualified Monomer.Widgets.Containers.StackSpec as StackSpec
import qualified Monomer.Widgets.Containers.ThemeSwitchSpec as ThemeSwitchSpec
import qualified Monomer.Widgets.Containers.TooltipSpec as TooltipSpec
import qualified Monomer.Widgets.Containers.ZStackSpec as ZStackSpec
import qualified Monomer.Widgets.Singles.ButtonSpec as ButtonSpec
import qualified Monomer.Widgets.Singles.CheckboxSpec as CheckboxSpec
2021-05-07 05:24:16 +03:00
import qualified Monomer.Widgets.Singles.ColorPickerSpec as ColorPickerSpec
import qualified Monomer.Widgets.Singles.DateFieldSpec as DateFieldSpec
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Singles.DialSpec as DialSpec
2021-05-07 04:24:31 +03:00
import qualified Monomer.Widgets.Singles.ExternalLinkSpec as ExternalLinkSpec
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Singles.ImageSpec as ImageSpec
import qualified Monomer.Widgets.Singles.LabelSpec as LabelSpec
import qualified Monomer.Widgets.Singles.NumericFieldSpec as NumericFieldSpec
import qualified Monomer.Widgets.Singles.RadioSpec as RadioSpec
2021-06-14 06:20:25 +03:00
import qualified Monomer.Widgets.Singles.SeparatorLineSpec as SeparatorLineSpec
2021-05-07 02:02:43 +03:00
import qualified Monomer.Widgets.Singles.SliderSpec as SliderSpec
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Singles.SpacerSpec as SpacerSpec
import qualified Monomer.Widgets.Singles.TextFieldSpec as TextFieldSpec
import qualified Monomer.Widgets.Singles.TextAreaSpec as TextAreaSpec
2021-05-15 05:29:22 +03:00
import qualified Monomer.Widgets.Singles.TimeFieldSpec as TimeFieldSpec
2021-03-07 02:41:54 +03:00
import qualified Monomer.Widgets.Util.FocusSpec as FocusSpec
import qualified Monomer.Widgets.Util.StyleSpec as StyleSpec
2020-11-22 17:58:42 +03:00
import qualified Monomer.Widgets.Util.TextSpec as TextSpec
2020-08-05 08:11:09 +03:00
main :: IO ()
main = do
-- Initialize SDL
SDL.initialize [SDL.InitVideo]
-- Run tests
hspec spec
-- Shutdown SDL
Raw.quitSubSystem Raw.SDL_INIT_VIDEO
SDL.quit
2020-08-05 08:11:09 +03:00
spec :: Spec
spec = do
common
2020-11-22 17:58:42 +03:00
widgets
widgetsUtil
2020-11-22 17:58:42 +03:00
common :: Spec
common = describe "Common" $ do
CursorIconSpec.spec
2020-11-22 17:58:42 +03:00
widgets :: Spec
widgets = describe "Widgets" $ do
CompositeSpec.spec
ContainerSpec.spec
2021-03-07 02:41:54 +03:00
animation
containers
singles
animation :: Spec
animation = describe "Animation" $ do
AnimationFadeSpec.spec
AnimationSlideSpec.spec
containers :: Spec
containers = describe "Containers" $ do
AlertSpec.spec
BoxSpec.spec
2020-11-12 08:09:00 +03:00
ConfirmSpec.spec
2021-01-30 23:04:52 +03:00
DragDropSpec.spec
2021-05-07 04:24:31 +03:00
DropdownSpec.spec
2020-08-05 08:11:09 +03:00
GridSpec.spec
2021-01-23 02:15:36 +03:00
KeystrokeSpec.spec
ScrollSpec.spec
2021-05-16 02:57:50 +03:00
SelectListSpec.spec
2021-01-19 20:47:10 +03:00
SplitSpec.spec
2020-08-08 02:37:15 +03:00
StackSpec.spec
ThemeSwitchSpec.spec
2021-01-24 22:16:04 +03:00
TooltipSpec.spec
2020-11-21 03:52:38 +03:00
ZStackSpec.spec
2020-11-22 17:58:42 +03:00
2021-03-07 02:41:54 +03:00
singles :: Spec
singles = describe "Singles" $ do
ButtonSpec.spec
CheckboxSpec.spec
2021-05-07 05:24:16 +03:00
ColorPickerSpec.spec
DateFieldSpec.spec
2021-03-07 02:41:54 +03:00
DialSpec.spec
2021-05-07 04:24:31 +03:00
ExternalLinkSpec.spec
2021-03-07 02:41:54 +03:00
ImageSpec.spec
LabelSpec.spec
NumericFieldSpec.spec
RadioSpec.spec
2021-06-14 06:20:25 +03:00
SeparatorLineSpec.spec
2021-05-07 02:02:43 +03:00
SliderSpec.spec
2021-03-07 02:41:54 +03:00
SpacerSpec.spec
TextAreaSpec.spec
2021-03-07 02:41:54 +03:00
TextFieldSpec.spec
2021-05-15 05:29:22 +03:00
TimeFieldSpec.spec
2021-03-05 22:14:32 +03:00
2020-11-22 17:58:42 +03:00
widgetsUtil :: Spec
widgetsUtil = describe "Widgets Util" $ do
FocusSpec.spec
StyleSpec.spec
2020-11-22 17:58:42 +03:00
TextSpec.spec