[Pharo-project] Assert SystemWindow not visible
Hi, I'm currently exploring ways of doing TDD on GUI. (Is there a framework for this ?) How can I know a window has been closed ? #visible always return true. self assert: (SystemWindow new openInWorld delete) visible not. fails. However this works but a bit "heavy": (SystemWindow labelled: 'Zork') openInWorld delete. Smalltalk garbageCollect. self assert: (SystemWindow allSubInstances detect: [:aWindow| aWindow label = 'Zork'] ifNone: [nil]) isNil. Laurent Laffont - @lolgzs <http://twitter.com/#!/lolgzs> Pharo Smalltalk Screencasts: http://www.pharocasts.com/ Blog: http://magaloma.blogspot.com/
window := (SystemWindow labelled: 'Zork'). window openInWorld delete. self assert: ((World subMorphs includes: window) not). I have also looked for a method that can tell me if the window is displayed or not, so I used to use this trick ;) Ben On Mar 1, 2011, at 9:06 PM, laurent laffont wrote:
Hi,
I'm currently exploring ways of doing TDD on GUI. (Is there a framework for this ?)
How can I know a window has been closed ? #visible always return true.
self assert: (SystemWindow new openInWorld delete) visible not.
fails.
However this works but a bit "heavy":
(SystemWindow labelled: 'Zork') openInWorld delete. Smalltalk garbageCollect.
self assert: (SystemWindow allSubInstances detect: [:aWindow| aWindow label = 'Zork'] ifNone: [nil]) isNil.
Laurent Laffont - @lolgzs
Pharo Smalltalk Screencasts: http://www.pharocasts.com/ Blog: http://magaloma.blogspot.com/
On Wed, Mar 2, 2011 at 10:15 AM, Benjamin < benjamin.vanryseghem.pharo@gmail.com> wrote:
window := (SystemWindow labelled: 'Zork'). window openInWorld delete. self assert: ((World subMorphs includes: window) not).
I have also looked for a method that can tell me if the window is displayed or not, so I used to use this trick ;)
Cool ! Thank you Ben. Laurent.
Ben
On Mar 1, 2011, at 9:06 PM, laurent laffont wrote:
Hi,
I'm currently exploring ways of doing TDD on GUI. (Is there a framework for this ?)
How can I know a window has been closed ? #visible always return true.
self assert: (SystemWindow new openInWorld delete) visible not.
fails.
However this works but a bit "heavy":
(SystemWindow labelled: 'Zork') openInWorld delete. Smalltalk garbageCollect.
self assert: (SystemWindow allSubInstances detect: [:aWindow| aWindow label = 'Zork'] ifNone: [nil]) isNil.
Laurent Laffont - @lolgzs <http://twitter.com/#!/lolgzs>
Pharo Smalltalk Screencasts: http://www.pharocasts.com/ Blog: http://magaloma.blogspot.com/
Also note, in 1.2 (I think) onwards, you can subscribe to WindowAnnoncements. WindowClosed should be announced when the window closes, so something like: |window closed| closed := false. window := SystemWindow labelled: 'Zork'. window announcer when: WindowClosed do: [closed := false]. window openInWorld delete. self assert: closed. should work. Cheers, Henry -- View this message in context: http://forum.world.st/Assert-SystemWindow-not-visible-tp3330492p3331230.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Henrik Sperre Johansen wrote:
window announcer when: WindowClosed do: [closed := false]. window openInWorld delete. self assert: closed.
meant to write [closed := true], of course :) Cheers, Henry -- View this message in context: http://forum.world.st/Assert-SystemWindow-not-visible-tp3330492p3331232.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Thank you Henry, good example. Laurent. On Wed, Mar 2, 2011 at 10:35 AM, Henrik Sperre Johansen < henrik.s.johansen@veloxit.no> wrote:
Henrik Sperre Johansen wrote:
window announcer when: WindowClosed do: [closed := false]. window openInWorld delete. self assert: closed.
meant to write [closed := true], of course :)
Cheers, Henry
-- View this message in context: http://forum.world.st/Assert-SystemWindow-not-visible-tp3330492p3331232.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
If you don't care whether the window had been opened at all then sending #isInWorld to the window is another approach. Regards, Gary ----- Original Message ----- From: laurent laffont To: Pharo-project@lists.gforge.inria.fr Sent: Wednesday, March 02, 2011 12:37 PM Subject: Re: [Pharo-project] Assert SystemWindow not visible Thank you Henry, good example. Laurent. On Wed, Mar 2, 2011 at 10:35 AM, Henrik Sperre Johansen <henrik.s.johansen@veloxit.no> wrote: Henrik Sperre Johansen wrote: > > > window announcer when: WindowClosed do: [closed := false]. > window openInWorld delete. > self assert: closed. > > meant to write [closed := true], of course :) Cheers, Henry -- View this message in context: http://forum.world.st/Assert-SystemWindow-not-visible-tp3330492p3331232.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
On Mon, Mar 7, 2011 at 11:53 AM, Gary Chambers <gazzaguru2@btinternet.com>wrote:
If you don't care whether the window had been opened at all then sending #isInWorld to the window is another approach.
Cool one ! Laurent.
Regards, Gary
----- Original Message ----- *From:* laurent laffont <laurent.laffont@gmail.com> *To:* Pharo-project@lists.gforge.inria.fr *Sent:* Wednesday, March 02, 2011 12:37 PM *Subject:* Re: [Pharo-project] Assert SystemWindow not visible
Thank you Henry, good example.
Laurent.
On Wed, Mar 2, 2011 at 10:35 AM, Henrik Sperre Johansen < henrik.s.johansen@veloxit.no> wrote:
Henrik Sperre Johansen wrote:
window announcer when: WindowClosed do: [closed := false]. window openInWorld delete. self assert: closed.
meant to write [closed := true], of course :)
Cheers, Henry
-- View this message in context: http://forum.world.st/Assert-SystemWindow-not-visible-tp3330492p3331232.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
participants (4)
-
Benjamin -
Gary Chambers -
Henrik Sperre Johansen -
laurent laffont