summaryrefslogtreecommitdiffstats
path: root/tests/Properties.hs
AgeCommit message (Collapse)Author
2007-10-22Replace 'findIndex' with 'findTag', which more accurately describes what the ↵Brent Yorgey
function does. I realize this is a big change, but the name 'findIndex' was confusing for me, since I expected it to return some sort of integer. What it actually does, of course, is return a workspace tag, which might be more general than an index. Of course, this change breaks several contrib modules; I'll submit a patch to make the change there as well. darcs-hash:20071022204105-bd4d7-9f5d5b8ce00c61b4830fde329f528b2d79af2fa6
2007-10-15Whitespace fixes for Properties.hsSpencer Janssen
darcs-hash:20071015022757-a5988-8e5172ea769e1c99abf1cc7f7630f3aa9dd68856
2007-10-06add mapWorkspace testsDevin Mullins
(just completely duplicated the two mapLayout tests :) darcs-hash:20071006073129-78224-d1303612fd8e2f9ede740831b031a88914ee833a
2007-10-06comment out type error'd propertyDon Stewart
darcs-hash:20071006102225-cba2c-50bba511cd0c7de03f86b98547ca7114b1592375
2007-10-06add floating propertyDon Stewart
darcs-hash:20071006100654-cba2c-bd3552becda4ce11803c40285685230c41bcce66
2007-10-05Add mapLayoutSpencer Janssen
darcs-hash:20071004234537-a5988-504015d5c938a232d1355c0f3c602cf366c20aea
2007-10-04extract Properties module for re-use by contrib testsDevin Mullins
I want to reuse Properties' Arbitrary instance (as well as the T and NonNegative types) in an upcoming set of SwapWorkspaces QC props. `module Main where import Main` doesn't work too well. :) If this patch is accepted, the darcs 'test' pref should be modified to "-itests tests/Main.hs". darcs-hash:20071004075852-78224-6f84d89566894e33266a7c3b4d0cde5be7ec2918
2007-10-01Add StackSet.allWindowsSpencer Janssen
darcs-hash:20071001163959-a5988-243d115545b70eafcaaedd9440ddf525ea15aa32
2007-09-30deeper test for differentiate. back to 100% coverageDon Stewart
darcs-hash:20070930075018-cba2c-48c2b170e452ef6db4957c1088ef9ab4d42a7505
2007-09-30properties for tag renamingDon Stewart
darcs-hash:20070930074641-cba2c-f0ba43bf6d62f372dfee8dfdadf4fe66677e0510
2007-09-30test lookupWorkspace more deeplyDon Stewart
darcs-hash:20070930073822-cba2c-7b661e5bdbdcf99b64f785897af2ecc4278471ea
2007-09-29100% coverage of alternative branchesDon Stewart
darcs-hash:20070928235745-cba2c-c8d9bd87100da803d11d00300bfd6486bbc29911
2007-09-29add some more properties for failure casesDon Stewart
darcs-hash:20070928233230-cba2c-291d995afedb1c3d1cf1ac4f8e69170b24029551
2007-09-20add (unused) Layout to StackSet.David Roundy
darcs-hash:20070920212843-72aca-4c73a99b58ebd9d1d179c5e627cbf4823493f4ab
2007-09-28add prop for 'differentiate'Don Stewart
darcs-hash:20070927231928-cba2c-84668ba6dab69541e063eaabf57724c13a28a916
2007-09-28new QC properties: floating a window is reversible, screens includes current ↵Don Stewart
screen darcs-hash:20070927220431-cba2c-1f2e67435aec367ee45d0bcbf1e9178f83ff8a71
2007-09-27Add 3 QC properties for focusMaster: local, idempotent, preserves invariantDon Stewart
darcs-hash:20070927214401-cba2c-4d5e8646bcc9d21b844f56e7cea13b9af26de7c1
2007-09-10Fix float behaviour, add shiftWin.Karsten Schoelzel
First, if float is called with window which is on a hidden workspace, then the window will remain on that hidden workspace. Now the focus should change more as expected: float w = (view current) . (shiftWin ws w) where current is the current screen/workspace shiftWin ws w is: - view the workspace w is on - set focus on w - shift ws - set focus back to window it was on that workspace unless w was focused shiftWin was add to StackSet.hs darcs-hash:20070910090329-eb3a1-ae150bf783b36fb4811e92d81b4917066c8733b7
2007-08-15Add greedyView, make it the default action for mod-werSpencer Janssen
darcs-hash:20070815025504-a5988-00ff316a056c48cc07c5e90925702d2ac09ae666
2007-07-28QuickCheck filter preserves orderKarsten Schoelzel
darcs-hash:20070728184534-eb3a1-68bbf44ab26db69a4aa75fb97cb516ebf6c963bb
2007-06-29Move screen details into StackSetSpencer Janssen
darcs-hash:20070629213917-a5988-3ad31d8f028efcec41c9c4805c01c2d42c0009b2
2007-06-26add 2 properties to state where focus goes on delete of focused windowDon Stewart
darcs-hash:20070626040907-9c5c1-397ec2ac01fda2e3f307605bf0f765bbc5724350
2007-06-14make workspace tag not need to be a Num.David Roundy
This change also removes the barely used 'size' field, and replaces it with a tagMember predicate. The idea is to move towards the ability to make the workspace tag be a String, which by default might be "1".."9", but could also be customized to be something meaningful to the user. darcs-hash:20070614140709-72aca-dbc1ce07bf964e4cff69deef95b453a0051ef782
2007-06-12make focus, up and down complete functions.David Roundy
This is a rerun of my change to make (Stack a) never be empty. Gives us more type-safety. darcs-hash:20070612150555-72aca-5f6e43aa33979c71679a73b44d93f9e2b8f9d2a8
2007-06-11Add StackSet.filterSpencer Janssen
darcs-hash:20070611165154-a5988-8c46751ffd4bd03249656e3b467b8e7569c48b09
2007-05-26HEADS UP: change key binding for swapLeft/Right and IncMasterDon Stewart
The use of arrow keys for swapLeft/Right clash with firefox's back button. Use the more intuitive mod-shift-jk for this. (It's a movement operation, after all). This clashes with IncMaster, so we use mod+comma and mod+period for these (i.e. the keys mod < and mod > , to move windows to and from the master area). While we're here, replace the use of the terms 'left' and 'right' for navigation, in comments and identifiers, with 'up' and 'down' instead. Hence mod-j == focusDown. Far more intuitive for people (dons) who live in fullscreen mode and have vim movement wired into their central nervous system. Principle of least VI surprise: movement down or up means using j and k. darcs-hash:20070526111453-9c5c1-3242145ee5b51eb070a7dc3663f0d6cc01671d5c
2007-05-25Add a test that the size field of StackSet is correct to QuickCheck invariant.glasser
darcs-hash:20070525163159-64353-15e04204eb27aebe6c98a58c8e26b5c5d3083348
2007-05-25Quickcheck property to check that delete / focus behaviourRob
See patch "Deleting a window should not affect focus". Checks this property. darcs-hash:20070525035432-64d90-e1b1684a128a8336c14be3479b088988a5ddbd35
2007-05-25Fix bug in noDuplicate invariantRob
ws used by noDuplicates is actually a list of list of elements which will pretty rarely raise any flags even if the StackSet actually does contain duplicates. This patch concatenates ws to ensure the quickcheck property tests accurately. darcs-hash:20070525060842-64d90-efb031dd261cee4fdda597447036631bcce708fa
2007-05-22add swapLeft and swapRightbobstopper
darcs-hash:20070522050008-ee4f8-6073519fac239b25e5e265ce3995ee75683fcb81
2007-05-21Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart
darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb
2007-05-20HEADS UP: Rewrite StackSet as a ZipperDon Stewart
In order to give a better account of how focus and master interact, and how each operation affects focus, we reimplement the StackSet type as a two level nested 'Zipper'. To quote Oleg: A Zipper is essentially an `updateable' and yet pure functional cursor into a data structure. Zipper is also a delimited continuation reified as a data structure. That is, we use the Zipper as a cursor which encodes the window which is in focus. Thus our data structure tracks focus correctly by construction! We then get simple, obvious semantics for e.g. insert, in terms of how it affects focus/master. Our transient-messes-with-focus bug evaporates. 'swap' becomes trivial. By moving focus directly into the stackset, we can toss some QC properties about focus handling: it is simply impossible now for focus to go wrong. As a benefit, we get a dozen new QC properties for free, governing how master and focus operate. The encoding of focus in the data type also simplifies the focus handling in Operations: several operations affecting focus are now simply wrappers over StackSet. For the full story, please read the StackSet module, and the QC properties. Finally, we save ~40 lines with the simplified logic in Operations.hs For more info, see the blog post on the implementation, http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/17#xmonad_part1b_zipper darcs-hash:20070520070053-9c5c1-241f7ee7793f5db2b9e33d375965cdc21b26cbd7
2007-05-16variable number of windows in master areaJason Creighton
darcs-hash:20070516031437-b9aa7-03d82cb2565a45fa0e17a34c4c20740b51ff625c
2007-05-15beautify tileDavid Roundy
darcs-hash:20070515154011-72aca-1557c99da679a2be1e52f365f6ae72cfaf40fc87
2007-05-10keep focus stack.David Roundy
darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5
2007-05-08Remove broken prop_promoterotate, replace it with prop_promote_raise_idSpencer Janssen
darcs-hash:20070508211907-a5988-25a6a03356b3017540a53f73bc609a98938c9a9e
2007-05-08Disable shift_reversible until focus issues are decided.Spencer Janssen
darcs-hash:20070508210952-a5988-becbb2c91df5be261943aefeb50f6849fc805067
2007-05-08Disable delete.push until focus issues are decidedSpencer Janssen
darcs-hash:20070508204921-a5988-7397764877c6d1a4acf1c004a1486231961d67d5
2007-05-08Make tests typecheckSpencer Janssen
darcs-hash:20070508152449-a5988-9c8631ebe825ce20e6513f74cb776fb69e0f8509
2007-05-08Arbitrary instance for StackSet must set random focus on each workspaceDon Stewart
When focus was separated from the stack order on each workspace, we forgot to update the Arbitrary instance to set random focus. As spotted by David R, this then invalidates 4 of our QC properties. In particular, the property involving where focus goes after a random transient (annoying behaviour) appeared to be correct, but wasn't, due to inadequate coverage. This patch sets focus to a random window on each workspace. As a result, we now catch the focus/raise/delete issue people have been complaining about. Lesson: make sure your QuickCheck generators are doing what you think they are. darcs-hash:20070508051126-9c5c1-55a0597e6838b35f12b3d348e85360cda6c237ca
2007-05-05make quickcheck tests friendlier to read.David Roundy
darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194
2007-05-05make Properties.hs exit with failure on test failureJason Creighton
darcs-hash:20070505174357-b9aa7-2dc94a5ade7740c859831865d49e2da28d2ba0ac
2007-05-04added mirrorLayout to mirror arbitrary layoutsJason Creighton
darcs-hash:20070504014653-b9aa7-1709cb0b718a7a058021c76fb95f9654c43f54b1
2007-05-03-Wall policeDon Stewart
darcs-hash:20070503074937-9c5c1-769ff9e521726032973c5712940c8c671746153e
2007-05-02Fix tests after StackSet changesSpencer Janssen
darcs-hash:20070502201622-a5988-ac80f011c59276c52314ea128c07a54487c9bee9
2007-05-02First steps to adding floating layerSpencer Janssen
darcs-hash:20070502195917-a5988-6831029fae89604c06ae962aaffdf81bfdad3297
2007-04-30check we never generate invalid stack setsDon Stewart
darcs-hash:20070430065946-9c5c1-a63c2fa904ff1b915da40dfef6289ee935991992
2007-04-30view n . shift n . view i . shift i) x == x --> shift + view is invertibleDon Stewart
darcs-hash:20070430062901-9c5c1-dd591516cb05072be929aa68d42be3b27476bd5a
2007-04-30add rotate all and view idempotency testsDon Stewart
darcs-hash:20070430055751-9c5c1-da5da09a5c2ff160fb7b243794d5fd3d7f954cb1
2007-04-30push is idempotentDon Stewart
darcs-hash:20070430054345-9c5c1-98af87adafacc002e4df6e22ea42ac97f40b4399