[TFUI] Regulate the Event Queue

Phlip <phlipcpp-/[email protected]>
Newsgroups gmane.comp.programming.test-first-user-interfaces
Message-ID <[email protected]>
TFUI:

All GUIs have an event queue, and all tests work
within or around some slice of the queue, to repress
windows, display them on command, and feed them
inputs.

Most test cases, for most GUIs, repress the event
queue easily. Methods such as Application.Run() or
Tk.mainloop() operate the event queue. When tests
decline to call such a method, they can treat windows
as objects, with reduced side effects.

Test cases that create windows typically achieve the
Just Another Library principle by throttling, or
withholding, events in the queue. They fill up in the
queue, like a blocked hose swelling up with water,
until our test case destroys its window. Then they all
drain away.

Tests have the option to temporarily release that
flow, to experiment with a live event queue.
Conceptual problems tend to arise here. A normal
GUI-based application initializes its frame window,
then activates its event queue and leaves it on for
the remaining life of the program. Some test cases
treat the event queue in ways GUI Toolkit authors
never dreamed of.

Early in a GUI project, pick any excuse to research
how to write a test fixture or two, using Event Queue
Regulation, to enable Temporary Visual Inspections and
Manual Tests. Ideally, any test case can call such a
fixture and pass it a reference to any window. The
fixture will take care of all housekeeping, temporary
files, alternative event handlers, etc, required to
rapidly enable the temporary review. Programmers
writing new test cases should never interrupt their
Flow to think about how to write or call a reveal()
fixture.

When test fixtures exercise fine-tuned control over
the event queue, test cases assume many roles of form
painters, wizards, and manually operating a program.
Find a reason, early in a project, to research and
implement these techniques, so they are available when
needed.


=====
Phlip
  http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces


		
__________________________________
Do you Yahoo!?
Y! Messenger - Communicate in real time. Download now. 
http://messenger.yahoo.com


------------------------ Yahoo! Groups Sponsor --------------------~--> 
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~-> 

To unsubscribe, email:
TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/TestFirstUserInterfaces/

<*> To unsubscribe from this group, send an email to:
    TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.