summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/Properties.hs19
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/Properties.hs b/tests/Properties.hs
index 245f02f..e69c7f9 100644
--- a/tests/Properties.hs
+++ b/tests/Properties.hs
@@ -103,13 +103,25 @@ prop_screenworkspace x = all test [0..((fromIntegral $ size x)-1)]
Nothing -> True
Just sc -> workspace sc x == Just ws
_ = x :: T
+------------------------------------------------------------------------
+-- promote is idempotent
prop_promote2 x = promote (promote x) == (promote x)
where _ = x :: T
-prop_promotefocus x = focus (promote x) == focus x -- focus doesn't change
+-- focus doesn't change
+prop_promotefocus x = focus (promote x) == focus x
+ where _ = x :: T
+
+-- screen certainly should't change
+prop_promotecurrent x = current (promote x) == current x
where _ = x :: T
+-- promote doesn't mess with other windows
+prop_promoterotate x b = focus (rotate dir (promote x)) == focus (rotate dir x)
+ where _ = x :: T
+ dir = if b then LT else GT
+
------------------------------------------------------------------------
main :: IO ()
@@ -137,8 +149,11 @@ main = do
,("currentwsvisible ", mytest prop_currentwsvisible)
,("ws screen mapping", mytest prop_ws2screen_screen2ws)
,("screen/workspace ", mytest prop_screenworkspace)
+
,("promote idempotent", mytest prop_promote2)
- ,("promote/focus", mytest prop_promotefocus)
+ ,("promote focus", mytest prop_promotefocus)
+ ,("promote current", mytest prop_promotecurrent)
+ ,("promote only swaps", mytest prop_promoterotate)
]
debug = False