diff options
author | Don Stewart <dons@galois.com> | 2007-09-29 01:32:30 +0200 |
---|---|---|
committer | Don Stewart <dons@galois.com> | 2007-09-29 01:32:30 +0200 |
commit | 4b15827018d04c340765e7607c16462ab9237088 (patch) | |
tree | 93149fb584bec7d0116d63a2be70ca86c39e64ee /tests | |
parent | 6a5b153243ab3a2bec45ed772c2f16da5d00f185 (diff) | |
download | metatile-4b15827018d04c340765e7607c16462ab9237088.tar metatile-4b15827018d04c340765e7607c16462ab9237088.zip |
add some more properties for failure cases
darcs-hash:20070928233230-cba2c-291d995afedb1c3d1cf1ac4f8e69170b24029551
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Properties.hs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/Properties.hs b/tests/Properties.hs index 8256c45..138924f 100644 --- a/tests/Properties.hs +++ b/tests/Properties.hs @@ -11,8 +11,10 @@ import Data.Ratio import Data.Maybe import System.Environment import Control.Exception (assert) +import qualified Control.Exception as C import Control.Monad import Test.QuickCheck hiding (promote) +import System.IO.Unsafe import System.IO import System.Random hiding (next) import Text.Printf @@ -544,6 +546,28 @@ prop_differentiate xs = else focus (fromJust (differentiate xs)) == head xs where _ = xs :: [Int] +-- looking up the tag of the current workspace should always produce a tag. +prop_lookup_current (x :: T) = lookupWorkspace scr x == Just tg + where + (Screen (Workspace tg _ _) scr _) = current x + +-- --------------------------------------------------------------------- +-- testing for failure + +-- and help out hpc +prop_abort x = unsafePerformIO $ C.catch (abort "fail") + (\e -> return $ show e == "xmonad: StackSet: fail" ) + where + _ = x :: Int + +-- new should fail with an abort +prop_new_abort x = unsafePerformIO $ C.catch f + (\e -> return $ show e == "xmonad: StackSet: non-positive argument to StackSet.new" ) + where + f = new undefined{-layout-} [] [] `seq` return False + + _ = x :: Int + ------------------------------------------------------------------------ -- some properties for layouts: @@ -675,6 +699,11 @@ main = do ,("floating is reversible" , mytest prop_float_reversible) ,("screens includes current", mytest prop_screens) ,("differentiate works", mytest prop_differentiate) + ,("lookupTagOnScreen", mytest prop_lookup_current) + + -- testing for failure: + ,("abort fails", mytest prop_abort) + ,("new fails with abort", mytest prop_new_abort) {- ,("tile 1 window fullsize", mytest prop_tile_fullscreen) |