summaryrefslogtreecommitdiffstats
path: root/tests/Properties.hs
AgeCommit message (Collapse)Author
2008-03-22reenable quickcheck properties for layouts (no overlap, fullscreen)Don Stewart
darcs-hash:20080321234015-cba2c-56ead600613e43978a996f82991d6e5a6f4ca962
2008-03-10add property for ensureTags behaviour on hidden workspacesDon Stewart
darcs-hash:20080310182557-cba2c-9e539e452dbcb111fc47098dd762811c8334d4d8
2008-03-07more general properties for view, greedyViewDon Stewart
darcs-hash:20080307181657-cba2c-cbce57144f581da1aa34ef78dcadba41f7207a5d
2008-03-07bit more code coverageDon Stewart
darcs-hash:20080307180905-cba2c-723aab5ae3ca821207bdc70dbd05a8da8d1822ea
2008-02-27more tests. slightly better test coverageDon Stewart
darcs-hash:20080227180113-cba2c-74897f1ccbdc69956bd99c9a90aa3b11c469a4fe
2008-02-27test geometry settingDon Stewart
darcs-hash:20080227175554-cba2c-e4615f2c9c25cea28ab0abbdb2ce9291247069c4
2008-02-25incorrect invariant test for greedyViewDon Stewart
darcs-hash:20080225180350-cba2c-95b57af5f105496a17148c49578ae83d1e0f0a35
2008-01-19Roll testing into the main executable, use Cabal to build the testsSpencer Janssen
darcs-hash:20080119091215-a5988-8f5f48e8c40a0f39abdf6ffe4d4dc938ab8c7ef1
2007-11-01HierarchifySpencer Janssen
darcs-hash:20071101180846-a5988-25ba1c9ce37a35c1533e4075cc9494c6f7dd5ade
2007-11-01This is a massive update, here's what has changed:Spencer Janssen
* Read is no longer a superclass of Layout * All of the core layouts have moved to the new Layouts.hs module * Select has been replaced by the new statically typed Choose combinator, which is heavily based on David Roundy's NewSelect proposal for XMonadContrib. Consequently: - Rather than a list of choosable layouts, we use the ||| combinator to combine several layouts into a single switchable layout - We've lost the capability to JumpToLayout and PrevLayout. Both can be added with some effort darcs-hash:20071101064318-a5988-c07c434c7a1108078d6123a4b36040ed6597772b
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