2 more properties for promote.

This commit is contained in:
Don Stewart
2007-04-19 00:12:01 +00:00
parent cf2c9f7328
commit 7806eb4c48

View File

@@ -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