Den 25.02.2010 15:05, skrev Alexandre Bergel:
> Dear List,
>
> I am extending the current set of Mondrian tests. I would like to  
> force some system window to appear on the screen in order to properly  
> test the size of its composing morphs. However, I do not know how to  
> effectively make the morph show up on the screen in a test.
>
> For example, consider the following test with a contrived situation:
>
> testDummy
>       | morph c |
>       morph := Morph new openInWorld.
>       c := Display colorAt: 0...@0.
>       morph delete.
>       self assert: c = morph color.
>
> If I run the test from a test runner, it will fail. However, if I open  
> a debugger and do a step by step, c = morph color is true.
>
> I guess the problem is that the morph is not actually displayed, since  
> the UI thread does not have the hand. Any idea how to force this?
>
> Cheers,
> Alexandre
>
>   
You could insert World doOneCycle
between the lines
morph :=
and
c :=

>From a test-clarity (and robustness) POV though, you'd be much much
better by instead asserting properties of the morphs layout/colors than
sampling of display colors...
| morph |

        morph := Morph new. 
        morph doLayoutIn: someBounds.
        self assert: whatIExpectedWithAboveBounds equals: morph 
someLayoutVariable


Cheers,
Henry



_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to