aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Properties.hs (unfollow)
Commit message (Collapse)AuthorFilesLines
2007-11-01HierarchifySpencer Janssen1-2/+2
darcs-hash:20071101180846-a5988-25ba1c9ce37a35c1533e4075cc9494c6f7dd5ade.gz
2007-11-01This is a massive update, here's what has changed:Spencer Janssen1-1/+0
* 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.gz
2007-10-22Replace 'findIndex' with 'findTag', which more accurately describes what the ↵Brent Yorgey1-5/+5
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.gz
2007-10-15Whitespace fixes for Properties.hsSpencer Janssen1-11/+11
darcs-hash:20071015022757-a5988-8e5172ea769e1c99abf1cc7f7630f3aa9dd68856.gz
2007-10-06add mapWorkspace testsDevin Mullins1-0/+8
(just completely duplicated the two mapLayout tests :) darcs-hash:20071006073129-78224-d1303612fd8e2f9ede740831b031a88914ee833a.gz
2007-10-06comment out type error'd propertyDon Stewart1-0/+2
darcs-hash:20071006102225-cba2c-50bba511cd0c7de03f86b98547ca7114b1592375.gz
2007-10-06add floating propertyDon Stewart1-0/+6
darcs-hash:20071006100654-cba2c-bd3552becda4ce11803c40285685230c41bcce66.gz
2007-10-05Add mapLayoutSpencer Janssen1-0/+7
darcs-hash:20071004234537-a5988-504015d5c938a232d1355c0f3c602cf366c20aea.gz
2007-10-04extract Properties module for re-use by contrib testsDevin Mullins1-0/+1
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.gz
2007-10-01Add StackSet.allWindowsSpencer Janssen1-0/+3
darcs-hash:20071001163959-a5988-243d115545b70eafcaaedd9440ddf525ea15aa32.gz
2007-09-30deeper test for differentiate. back to 100% coverageDon Stewart1-1/+1
darcs-hash:20070930075018-cba2c-48c2b170e452ef6db4957c1088ef9ab4d42a7505.gz
2007-09-30properties for tag renamingDon Stewart1-0/+21
darcs-hash:20070930074641-cba2c-f0ba43bf6d62f372dfee8dfdadf4fe66677e0510.gz
2007-09-30test lookupWorkspace more deeplyDon Stewart1-0/+10
darcs-hash:20070930073822-cba2c-7b661e5bdbdcf99b64f785897af2ecc4278471ea.gz
2007-09-29100% coverage of alternative branchesDon Stewart1-2/+9
darcs-hash:20070928235745-cba2c-c8d9bd87100da803d11d00300bfd6486bbc29911.gz
2007-09-29add some more properties for failure casesDon Stewart1-0/+29
darcs-hash:20070928233230-cba2c-291d995afedb1c3d1cf1ac4f8e69170b24029551.gz
2007-09-20add (unused) Layout to StackSet.David Roundy1-14/+16
darcs-hash:20070920212843-72aca-4c73a99b58ebd9d1d179c5e627cbf4823493f4ab.gz
2007-09-28add prop for 'differentiate'Don Stewart1-0/+5
darcs-hash:20070927231928-cba2c-84668ba6dab69541e063eaabf57724c13a28a916.gz
2007-09-28new QC properties: floating a window is reversible, screens includes current ↵Don Stewart1-0/+18
screen darcs-hash:20070927220431-cba2c-1f2e67435aec367ee45d0bcbf1e9178f83ff8a71.gz
2007-09-27Add 3 QC properties for focusMaster: local, idempotent, preserves invariantDon Stewart1-2/+19
darcs-hash:20070927214401-cba2c-4d5e8646bcc9d21b844f56e7cea13b9af26de7c1.gz
2007-09-10Fix float behaviour, add shiftWin.Karsten Schoelzel1-0/+23
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 darcs-hash:20070910090329-eb3a1-ae150bf783b36fb4811e92d81b4917066c8733b7.gz
2007-08-15Add greedyView, make it the default action for mod-werSpencer Janssen1-0/+36
darcs-hash:20070815025504-a5988-00ff316a056c48cc07c5e90925702d2ac09ae666.gz
2007-07-28QuickCheck filter preserves orderKarsten Schoelzel1-0/+12
darcs-hash:20070728184534-eb3a1-68bbf44ab26db69a4aa75fb97cb516ebf6c963bb.gz
2007-06-29Move screen details into StackSetSpencer Janssen1-26/+31
darcs-hash:20070629213917-a5988-3ad31d8f028efcec41c9c4805c01c2d42c0009b2.gz
2007-06-26add 2 properties to state where focus goes on delete of focused windowDon Stewart1-1/+24
darcs-hash:20070626040907-9c5c1-397ec2ac01fda2e3f307605bf0f765bbc5724350.gz
2007-06-14make workspace tag not need to be a Num.David Roundy1-42/+29
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.gz
2007-06-12make focus, up and down complete functions.David Roundy1-13/+9
This is a rerun of my change to make (Stack a) never be empty. Gives us more type-safety. darcs-hash:20070612150555-72aca-5f6e43aa33979c71679a73b44d93f9e2b8f9d2a8.gz
2007-06-11Add StackSet.filterSpencer Janssen1-1/+1
darcs-hash:20070611165154-a5988-8c46751ffd4bd03249656e3b467b8e7569c48b09.gz
2007-05-26HEADS UP: change key binding for swapLeft/Right and IncMasterDon Stewart1-46/+46
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 darcs-hash:20070526111453-9c5c1-3242145ee5b51eb070a7dc3663f0d6cc01671d5c.gz
2007-05-25Add a test that the size field of StackSet is correct to QuickCheck invariant.glasser1-0/+3
darcs-hash:20070525163159-64353-15e04204eb27aebe6c98a58c8e26b5c5d3083348.gz
2007-05-25Quickcheck property to check that delete / focus behaviourRob1-0/+4
See patch "Deleting a window should not affect focus". Checks this property. darcs-hash:20070525035432-64d90-e1b1684a128a8336c14be3479b088988a5ddbd35.gz
2007-05-25Fix bug in noDuplicate invariantRob1-3/+3
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.gz
2007-05-22add swapLeft and swapRightbobstopper1-23/+46
darcs-hash:20070522050008-ee4f8-6073519fac239b25e5e265ce3995ee75683fcb81.gz
2007-05-21Move xinerama current/visible/hidden workspace logic into StackSet directly.Don Stewart1-70/+53
darcs-hash:20070521055253-9c5c1-4cc51fadb10609340f798aece25097afeae92dbb.gz
2007-05-20HEADS UP: Rewrite StackSet as a ZipperDon Stewart1-276/+537
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.gz
2007-05-16variable number of windows in master areaJason Creighton1-2/+2
darcs-hash:20070516031437-b9aa7-03d82cb2565a45fa0e17a34c4c20740b51ff625c.gz
2007-05-15beautify tileDavid Roundy1-3/+3
darcs-hash:20070515154011-72aca-1557c99da679a2be1e52f365f6ae72cfaf40fc87.gz
2007-05-10keep focus stack.David Roundy1-9/+12
darcs-hash:20070510131637-72aca-2978a0234147fbb748962a27c68b797bd2e747d5.gz
2007-05-08Remove broken prop_promoterotate, replace it with prop_promote_raise_idSpencer Janssen1-4/+7
darcs-hash:20070508211907-a5988-25a6a03356b3017540a53f73bc609a98938c9a9e.gz
2007-05-08Disable shift_reversible until focus issues are decided.Spencer Janssen1-1/+5
darcs-hash:20070508210952-a5988-becbb2c91df5be261943aefeb50f6849fc805067.gz
2007-05-08Disable delete.push until focus issues are decidedSpencer Janssen1-1/+5
darcs-hash:20070508204921-a5988-7397764877c6d1a4acf1c004a1486231961d67d5.gz
2007-05-08Make tests typecheckSpencer Janssen1-1/+1
darcs-hash:20070508152449-a5988-9c8631ebe825ce20e6513f74cb776fb69e0f8509.gz
2007-05-08Arbitrary instance for StackSet must set random focus on each workspaceDon Stewart1-7/+33
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.gz
2007-05-05make quickcheck tests friendlier to read.David Roundy1-1/+6
darcs-hash:20070505175415-72aca-2129b8432f6f2ddb9d1498b0503b86c401020194.gz
2007-05-05make Properties.hs exit with failure on test failureJason Creighton1-7/+8
darcs-hash:20070505174357-b9aa7-2dc94a5ade7740c859831865d49e2da28d2ba0ac.gz
2007-05-04added mirrorLayout to mirror arbitrary layoutsJason Creighton1-8/+2
darcs-hash:20070504014653-b9aa7-1709cb0b718a7a058021c76fb95f9654c43f54b1.gz
2007-05-03-Wall policeDon Stewart1-0/+2
darcs-hash:20070503074937-9c5c1-769ff9e521726032973c5712940c8c671746153e.gz
2007-05-02Fix tests after StackSet changesSpencer Janssen1-2/+3
darcs-hash:20070502201622-a5988-ac80f011c59276c52314ea128c07a54487c9bee9.gz
2007-05-02First steps to adding floating layerSpencer Janssen1-1/+1
darcs-hash:20070502195917-a5988-6831029fae89604c06ae962aaffdf81bfdad3297.gz
2007-04-30check we never generate invalid stack setsDon Stewart1-1/+18
darcs-hash:20070430065946-9c5c1-a63c2fa904ff1b915da40dfef6289ee935991992.gz
2007-04-30view n . shift n . view i . shift i) xDon Stewart1-4/+8
darcs-hash:20070430062901-9c5c1-dd591516cb05072be929aa68d42be3b27476bd5a.gz