chiasma-test 0.10.1.0 → 0.10.2.0
raw patch · 2 files changed
+25/−22 lines, 2 filesdep ~basedep ~lensdep ~polysemy-testPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, lens, polysemy-test, prelate, typed-process
API changes (from Hackage documentation)
- Chiasma.Test.Data.TmuxTestConfig: [$sel:conf:TmuxTestConfig] :: TmuxTestConfig -> [Text]
- Chiasma.Test.Data.TmuxTestConfig: [$sel:fontSize:TmuxTestConfig] :: TmuxTestConfig -> Int
- Chiasma.Test.Data.TmuxTestConfig: [$sel:gui:TmuxTestConfig] :: TmuxTestConfig -> Bool
- Chiasma.Test.Data.TmuxTestConfig: [$sel:height:TmuxTestConfig] :: TmuxTestConfig -> Cols
- Chiasma.Test.Data.TmuxTestConfig: [$sel:logLevel:TmuxTestConfig] :: TmuxTestConfig -> Severity
- Chiasma.Test.Data.TmuxTestConfig: [$sel:waitForPrompt:TmuxTestConfig] :: TmuxTestConfig -> Bool
- Chiasma.Test.Data.TmuxTestConfig: [$sel:width:TmuxTestConfig] :: TmuxTestConfig -> Rows
- Chiasma.Test.Data.TmuxTestConfig: instance Data.Default.Class.Default Chiasma.Test.Data.TmuxTestConfig.TmuxTestConfig
- Chiasma.Test.Data.TmuxTestConfig: instance GHC.Generics.Generic Chiasma.Test.Data.TmuxTestConfig.TmuxTestConfig
- Chiasma.Test.Data.TmuxTestConfig: instance GHC.Show.Show Chiasma.Test.Data.TmuxTestConfig.TmuxTestConfig
+ Chiasma.Test.Data.TmuxTestConfig: [conf] :: TmuxTestConfig -> [Text]
+ Chiasma.Test.Data.TmuxTestConfig: [fontSize] :: TmuxTestConfig -> Int
+ Chiasma.Test.Data.TmuxTestConfig: [gui] :: TmuxTestConfig -> Bool
+ Chiasma.Test.Data.TmuxTestConfig: [height] :: TmuxTestConfig -> Cols
+ Chiasma.Test.Data.TmuxTestConfig: [logLevel] :: TmuxTestConfig -> Severity
+ Chiasma.Test.Data.TmuxTestConfig: [waitForPrompt] :: TmuxTestConfig -> Bool
+ Chiasma.Test.Data.TmuxTestConfig: [width] :: TmuxTestConfig -> Rows
+ Chiasma.Test.Data.TmuxTestConfig: instance Data.Default.Internal.Default Chiasma.Test.Data.TmuxTestConfig.TmuxTestConfig
+ Chiasma.Test.Data.TmuxTestConfig: instance GHC.Internal.Generics.Generic Chiasma.Test.Data.TmuxTestConfig.TmuxTestConfig
+ Chiasma.Test.Data.TmuxTestConfig: instance GHC.Internal.Show.Show Chiasma.Test.Data.TmuxTestConfig.TmuxTestConfig
- Chiasma.Test.Screenshot: recordScreenshot :: Members [Tmux, Embed IO] r => (Text -> Text) -> Path Abs File -> Int -> Sem r ()
+ Chiasma.Test.Screenshot: recordScreenshot :: forall (r :: EffectRow). Members '[Tmux, Embed IO] r => (Text -> Text) -> Path Abs File -> Int -> Sem r ()
- Chiasma.Test.Screenshot: screenshot :: Members [Tmux, Error Text, Embed IO] r => Bool -> Path Abs Dir -> Text -> Int -> Sem r (Maybe ([Text], [Text]))
+ Chiasma.Test.Screenshot: screenshot :: forall (r :: EffectRow). Members '[Tmux, Error Text :: (Type -> Type) -> Type -> Type, Embed IO] r => Bool -> Path Abs Dir -> Text -> Int -> Sem r (Maybe ([Text], [Text]))
- Chiasma.Test.Screenshot: screenshotSanitized :: Members [Tmux, Error Text, Embed IO] r => (Text -> Text) -> Bool -> Path Abs Dir -> Text -> Int -> Sem r (Maybe ([Text], [Text]))
+ Chiasma.Test.Screenshot: screenshotSanitized :: forall (r :: EffectRow). Members '[Tmux, Error Text :: (Type -> Type) -> Type -> Type, Embed IO] r => (Text -> Text) -> Bool -> Path Abs Dir -> Text -> Int -> Sem r (Maybe ([Text], [Text]))
- Chiasma.Test.Screenshot: takeScreenshot :: Member Tmux r => (Text -> Text) -> Int -> Sem r [Text]
+ Chiasma.Test.Screenshot: takeScreenshot :: forall (r :: EffectRow). Member Tmux r => (Text -> Text) -> Int -> Sem r [Text]
- Chiasma.Test.Screenshot: testScreenshot :: Members [Tmux, Embed IO] r => (Text -> Text) -> Path Abs File -> Int -> Sem r (Maybe ([Text], [Text]))
+ Chiasma.Test.Screenshot: testScreenshot :: forall (r :: EffectRow). Members '[Tmux, Embed IO] r => (Text -> Text) -> Path Abs File -> Int -> Sem r (Maybe ([Text], [Text]))
- Chiasma.Test.Tmux: createTmuxConf :: Member Test r => Path Abs File -> [Text] -> Sem r (Path Abs File)
+ Chiasma.Test.Tmux: createTmuxConf :: forall (r :: EffectRow). Member Test r => Path Abs File -> [Text] -> Sem r (Path Abs File)
- Chiasma.Test.Tmux: runAndKillTmux :: forall err enc dec t d r a. Members [Scoped_ (TmuxClient enc dec) !! TmuxError, Codec TmuxCommand enc dec !! CodecError] r => Members [SystemProcess !! err, Time t d, Log, Resource, Error Text, Race, Embed IO] r => Bool -> Sem r a -> Sem r a
+ Chiasma.Test.Tmux: runAndKillTmux :: forall err enc dec t d (r :: EffectRow) a. (Members '[Scoped_ (TmuxClient enc dec) !! TmuxError, Codec TmuxCommand enc dec !! CodecError] r, Members '[SystemProcess !! err, Time t d, Log, Resource, Error Text :: (Type -> Type) -> Type -> Type, Race, Embed IO] r) => Bool -> Sem r a -> Sem r a
- Chiasma.Test.Tmux: testTmuxProcessConfig :: Members [Pty, Test, Embed IO] r => Path Abs File -> TmuxTestConfig -> Path Abs File -> Sem r (ProcessConfig () () ())
+ Chiasma.Test.Tmux: testTmuxProcessConfig :: forall (r :: EffectRow). Members '[Pty, Test, Embed IO] r => Path Abs File -> TmuxTestConfig -> Path Abs File -> Sem r (ProcessConfig () () ())
- Chiasma.Test.Tmux: type TestStack = TestTmuxEffects ++ [ChronosTime, Log, Stop CodecError, Error CodecError, Stop RenderError, Error RenderError, Stop TmuxError, Error TmuxError, Error Text, Race, Async, Test, Fail, Error TestError, Hedgehog IO, Error Failure, Embed IO, Resource, Final IO]
+ Chiasma.Test.Tmux: type TestStack = TestTmuxEffects ++ '[ChronosTime, Log, Stop CodecError, Error CodecError :: Type -> Type -> Type -> Type, Stop RenderError, Error RenderError :: Type -> Type -> Type -> Type, Stop TmuxError, Error TmuxError :: Type -> Type -> Type -> Type, Error Text :: Type -> Type -> Type -> Type, Race, Async, Test, Fail :: Type -> Type -> Type -> Type, Error TestError :: Type -> Type -> Type -> Type, Hedgehog IO, Error Failure :: Type -> Type -> Type -> Type, Embed IO, Resource, Final IO]
- Chiasma.Test.Tmux: type TestTmuxEffects = [NativeTmux, NativeTmux !! TmuxError, NativeCodecE TmuxCommand, NativeCodecE (Panes Pane), Reader TmuxNative]
+ Chiasma.Test.Tmux: type TestTmuxEffects = '[NativeTmux, NativeTmux !! TmuxError, NativeCodecE TmuxCommand, NativeCodecE Panes Pane, Reader TmuxNative]
- Chiasma.Test.Tmux: waitForEmptyPrompt :: forall enc dec t d r. Members [Scoped_ (TmuxClient enc dec) !! TmuxError, Codec TmuxCommand enc dec !! CodecError, Time t d] r => Sem r ()
+ Chiasma.Test.Tmux: waitForEmptyPrompt :: forall enc dec t d (r :: EffectRow). Members '[Scoped_ (TmuxClient enc dec) !! TmuxError, Codec TmuxCommand enc dec !! CodecError, Time t d] r => Sem r ()
- Chiasma.Test.Tmux: waitForFile :: Members [Time t d, Embed IO] r => Path Abs File -> Sem r ()
+ Chiasma.Test.Tmux: waitForFile :: forall t d (r :: EffectRow). Members '[Time t d, Embed IO] r => Path Abs File -> Sem r ()
- Chiasma.Test.Tmux: waitForServer :: forall enc dec t d r. Members [Scoped_ (TmuxClient enc dec) !! TmuxError, Codec TmuxCommand enc dec !! CodecError, Time t d] r => Sem r ()
+ Chiasma.Test.Tmux: waitForServer :: forall enc dec t d (r :: EffectRow). Members '[Scoped_ (TmuxClient enc dec) !! TmuxError, Codec TmuxCommand enc dec !! CodecError, Time t d] r => Sem r ()
- Chiasma.Test.Tmux: withSystemTempDir :: Members [Resource, Embed IO] r => (Path Abs Dir -> Sem r a) -> Sem r a
+ Chiasma.Test.Tmux: withSystemTempDir :: forall (r :: EffectRow) a. Members '[Resource, Embed IO] r => (Path Abs Dir -> Sem r a) -> Sem r a
- Chiasma.Test.Tmux: withTempDir :: Members [Resource, Embed IO] r => Path Abs Dir -> (Path Abs Dir -> Sem r a) -> Sem r a
+ Chiasma.Test.Tmux: withTempDir :: forall (r :: EffectRow) a. Members '[Resource, Embed IO] r => Path Abs Dir -> (Path Abs Dir -> Sem r a) -> Sem r a
- Chiasma.Test.Tmux: withTestTmux :: Members [Test, Time t d, Log, Resource, Stop TmuxError, Error Text, Race, Async, Embed IO] r => TmuxTestConfig -> Sem (TestTmuxEffects ++ r) a -> Path Abs Dir -> Sem r a
+ Chiasma.Test.Tmux: withTestTmux :: forall t d (r :: EffectRow) a. Members '[Test, Time t d, Log, Resource, Stop TmuxError, Error Text :: (Type -> Type) -> Type -> Type, Race, Async, Embed IO] r => TmuxTestConfig -> Sem (TestTmuxEffects ++ r) a -> Path Abs Dir -> Sem r a
- Chiasma.Test.Wait: assertWait :: Monad m => HasCallStack => Members [Hedgehog m, Time t d, Race, Error Failure, Embed IO] r => Sem r a -> (a -> Sem r b) -> Sem r b
+ Chiasma.Test.Wait: assertWait :: forall (m :: Type -> Type) t d (r :: EffectRow) a b. (Monad m, HasCallStack, Members '[Hedgehog m, Time t d, Race, Error Failure :: (Type -> Type) -> Type -> Type, Embed IO] r) => Sem r a -> (a -> Sem r b) -> Sem r b
- Chiasma.Test.Wait: assertWaitFor :: Monad m => HasCallStack => Members [Hedgehog m, Time t d, Race, Error Failure, Embed IO] r => TimeUnit t1 => TimeUnit t2 => t1 -> t2 -> Sem r a -> (a -> Sem r b) -> Sem r b
+ Chiasma.Test.Wait: assertWaitFor :: forall (m :: Type -> Type) t d (r :: EffectRow) t1 t2 a b. (Monad m, HasCallStack, Members '[Hedgehog m, Time t d, Race, Error Failure :: (Type -> Type) -> Type -> Type, Embed IO] r, TimeUnit t1, TimeUnit t2) => t1 -> t2 -> Sem r a -> (a -> Sem r b) -> Sem r b
Files
- chiasma-test.cabal +24/−21
- integration/Chiasma/Test/FindTest.hs +1/−1
chiasma-test.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.35.2.+-- This file has been generated from package.yaml by hpack version 0.38.2. -- -- see: https://github.com/sol/hpack name: chiasma-test-version: 0.10.1.0+version: 0.10.2.0 synopsis: Testing tools for chiasma description: See https://hackage.haskell.org/package/chiasma-test/docs/Chiasma-Test.html category: Terminal@@ -13,7 +13,7 @@ bug-reports: https://github.com/tek/chiasma/issues author: Torsten Schmits maintainer: hackage@tryp.io-copyright: 2023 Torsten Schmits+copyright: 2025 Torsten Schmits license: BSD-2-Clause-Patent license-file: LICENSE build-type: Simple@@ -48,9 +48,12 @@ GADTs LambdaCase LiberalTypeSynonyms+ MonadComprehensions MultiWayIf+ NoFieldSelectors OverloadedLabels OverloadedLists+ OverloadedRecordDot OverloadedStrings PackageImports PartialTypeSignatures@@ -66,11 +69,9 @@ UndecidableInstances UnicodeSyntax ViewPatterns- OverloadedRecordDot- NoFieldSelectors ghc-options: -fplugin=Polysemy.Plugin -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages build-depends:- base ==4.*+ base <5 , bytestring , chiasma , chronos@@ -84,11 +85,11 @@ , polysemy-log , polysemy-plugin , polysemy-process- , polysemy-test >=0.6+ , polysemy-test , polysemy-time- , prelate >=0.6 && <0.8+ , prelate , text- , typed-process >=0.2+ , typed-process mixins: base hiding (Prelude) , prelate (Prelate as Prelude)@@ -122,9 +123,12 @@ GADTs LambdaCase LiberalTypeSynonyms+ MonadComprehensions MultiWayIf+ NoFieldSelectors OverloadedLabels OverloadedLists+ OverloadedRecordDot OverloadedStrings PackageImports PartialTypeSignatures@@ -140,19 +144,17 @@ UndecidableInstances UnicodeSyntax ViewPatterns- OverloadedRecordDot- NoFieldSelectors ghc-options: -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages build-depends:- base ==4.*+ base <5 , chiasma , chiasma-test , hedgehog- , lens >=4+ , lens , polysemy , polysemy-plugin- , polysemy-test >=0.6- , prelate >=0.6 && <0.8+ , polysemy-test+ , prelate , tasty , tasty-hedgehog mixins:@@ -187,9 +189,12 @@ GADTs LambdaCase LiberalTypeSynonyms+ MonadComprehensions MultiWayIf+ NoFieldSelectors OverloadedLabels OverloadedLists+ OverloadedRecordDot OverloadedStrings PackageImports PartialTypeSignatures@@ -205,21 +210,19 @@ UndecidableInstances UnicodeSyntax ViewPatterns- OverloadedRecordDot- NoFieldSelectors ghc-options: -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N -Wall -Widentities -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-type-patterns -Wunused-packages build-depends:- base ==4.*+ base <5 , chiasma , chiasma-test , hedgehog- , lens >=4+ , lens , path-io , polysemy , polysemy-chronos , polysemy-plugin- , polysemy-test >=0.6- , prelate >=0.6 && <0.8+ , polysemy-test+ , prelate , tasty , tasty-hedgehog mixins:
integration/Chiasma/Test/FindTest.hs view
@@ -4,7 +4,7 @@ import Chiasma.Codec (TmuxCodec) import qualified Chiasma.Codec.Data.Pane as Pane-import Chiasma.Codec.Data.Window (windowId)+import Chiasma.Codec.Data.Window (Window (..)) import Chiasma.Command.Window (splitWindow) import Chiasma.Data.CodecError (CodecError) import qualified Chiasma.Data.Panes as Panes