LUMIERA.clone/tests/gui
Ichthyostega dddcbe9994 DOC: supply basics of UI-Bus and generic UI-element protocol
the initial draft of this concept is in place now, and
the first round of unit tests pass. I've got some understanding
of the purpose of the interactions and involved elements
and I'm confident this design is evolving in a sane way.

Note: extensive documentation is in the TiddlyWiki,
here I've just pasted and reworded some paragraphs from there
and integrated them into the Doxygen docs
2015-12-27 01:58:15 +01:00
..
test DOC: supply basics of UI-Bus and generic UI-element protocol 2015-12-27 01:58:15 +01:00
abstract-tangible-test.cpp DOC: supply basics of UI-Bus and generic UI-element protocol 2015-12-27 01:58:15 +01:00
bus-term-test.cpp test driven planning 2015-11-26 22:23:43 +01:00
README enable special unit-tests to link against the gui 2014-10-18 04:27:07 +02:00
session-structure-mapping-test.cpp extended planning to define the operation of UI-Bus and model update 2015-01-17 16:08:56 +01:00
tangible-update-test.cpp extended planning to define the operation of UI-Bus and model update 2015-01-17 16:08:56 +01:00
test-gui-test.cpp enable special unit-tests to link against the gui 2014-10-18 04:27:07 +02:00

GUI backbone tests

The tests in this subtree are a bit special: they cover the generic and
backbone internals of the Lumiera GTK GUI. They are linked against the
complete GUI-module (gui plugin), and thus may use all related ABIs.

Yet these tests are *deliberately* compiled without any GTK, GTKmm or SigC
includes. This effectively rules out the use, even indirectly, of any GTK
widgets and APIs -- forcing the covered GUI backbone entities to stay
clean and generic at API level.

This is a decision done on purpose. The concrete GUI framework technology
shall be treated as an implementation detail. There is no point in writing
tests which click buttons in the GUI -- better delegate any significant
logic or functionality to GUI agnostic components. GUI is meant to be
a presentation layer and must not develop intelligence on its own.