wxWidgets/tests/test.bkl
Vadim Zeitlin dd4eefcb29 Document and test behaviour of wxRegion methods when it is invalid.
Document which wxRegion methods can and can't be used when the region itself
is invalid.

Apply the minor changes to wxGTK (Xor() didn't do the right thing, Offset()
didn't assert) and wxOSX (Offset() crashed) to make their behaviour consistent
with wxMSW.

Add a (trivial, so far, but to be extended later) wxRegion unit test checking
that the methods do indeed behave as documented.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:48 +00:00

284 lines
9.2 KiB
XML

<?xml version="1.0" ?>
<!-- $Id$ -->
<makefile>
<!--
The use of PCH is disabled for samples by default but we do want to use
them for the test as this dramatically speeds up its compilation.
-->
<set var="WX_ENABLE_PRECOMP_HEADERS">1</set>
<include file="../build/bakefiles/common_samples.bkl"/>
<template id="wx_test">
<cppflags>$(CPPUNIT_CFLAGS)</cppflags>
<ldflags>$(CPPUNIT_LIBS)</ldflags>
<if cond="WX_DISABLE_PRECOMP_HEADERS=='0'">
<if cond="FORMAT!='autoconf' and TOOLKIT=='MSW'">
<sources>dummy.cpp</sources>
<precomp-headers-gen>dummy.cpp</precomp-headers-gen>
</if>
<precomp-headers-header>testprec.h</precomp-headers-header>
<precomp-headers>on</precomp-headers>
<precomp-headers-file>testprec_$(id)</precomp-headers-file>
</if>
</template>
<exe id="test" template="wx_sample_console,wx_test"
template_append="wx_append_base">
<sources>
test.cpp
any/anytest.cpp
archive/archivetest.cpp
archive/ziptest.cpp
archive/tartest.cpp
arrays/arrays.cpp
base64/base64.cpp
cmdline/cmdlinetest.cpp
config/fileconf.cpp
config/regconf.cpp
datetime/datetimetest.cpp
events/evthandler.cpp
events/evtsource.cpp
events/stopwatch.cpp
events/timertest.cpp
exec/exec.cpp
file/dir.cpp
file/filefn.cpp
file/filetest.cpp
filekind/filekind.cpp
filename/filenametest.cpp
filesys/filesystest.cpp
fontmap/fontmaptest.cpp
formatconverter/formatconvertertest.cpp
fswatcher/fswatchertest.cpp
hashes/hashes.cpp
interactive/output.cpp
interactive/input.cpp
intl/intltest.cpp
lists/lists.cpp
log/logtest.cpp
longlong/longlongtest.cpp
mbconv/convautotest.cpp
mbconv/mbconvtest.cpp
misc/dynamiclib.cpp
misc/environ.cpp
misc/metatest.cpp
misc/misctests.cpp
misc/module.cpp
misc/pathlist.cpp
misc/typeinfotest.cpp
net/ipc.cpp
net/socket.cpp
regex/regextest.cpp
regex/wxregextest.cpp
scopeguard/scopeguardtest.cpp
strings/iostream.cpp
strings/numformatter.cpp
strings/strings.cpp
strings/stdstrings.cpp
strings/tokenizer.cpp
strings/unichar.cpp
strings/unicode.cpp
strings/vararg.cpp
strings/crt.cpp
strings/vsnprintf.cpp
streams/bstream.cpp
streams/datastreamtest.cpp
streams/ffilestream.cpp
streams/fileback.cpp
streams/filestream.cpp
streams/iostreams.cpp
streams/largefile.cpp
streams/memstream.cpp
streams/socketstream.cpp
streams/sstream.cpp
streams/stdstream.cpp
streams/tempfile.cpp
streams/textstreamtest.cpp
streams/zlibstream.cpp
textfile/textfiletest.cpp
thread/atomic.cpp
thread/misc.cpp
thread/queue.cpp
thread/tls.cpp
uris/ftp.cpp
uris/uris.cpp
uris/url.cpp
vectors/vectors.cpp
weakref/evtconnection.cpp
weakref/weakref.cpp
xlocale/xlocale.cpp
xml/xmltest.cpp
</sources>
<wx-lib>net</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>base</wx-lib>
</exe>
<exe id="test_gui" template="wx_sample,wx_test"
template_append="wx_append"
cond="USE_GUI=='1'">
<!-- link against GUI libraries, but be a console app: -->
<app-type>console</app-type>
<sources>
asserthelper.cpp
test.cpp
testableframe.cpp
geometry/rect.cpp
geometry/size.cpp
geometry/point.cpp
geometry/region.cpp
graphics/bitmap.cpp
graphics/colour.cpp
graphics/ellipsization.cpp
graphics/measuring.cpp
graphics/affinematrix.cpp
config/config.cpp
controls/bitmapcomboboxtest.cpp
controls/bitmaptogglebuttontest.cpp
controls/bookctrlbasetest.cpp
controls/buttontest.cpp
controls/checkboxtest.cpp
controls/checklistboxtest.cpp
controls/choicebooktest.cpp
controls/choicetest.cpp
controls/comboboxtest.cpp
controls/dataviewctrltest.cpp
controls/datepickerctrltest.cpp
controls/frametest.cpp
controls/gaugetest.cpp
controls/gridtest.cpp
controls/headerctrltest.cpp
controls/htmllboxtest.cpp
controls/hyperlinkctrltest.cpp
controls/itemcontainertest.cpp
controls/label.cpp
controls/listbasetest.cpp
controls/listbooktest.cpp
controls/listboxtest.cpp
controls/listctrltest.cpp
controls/listviewtest.cpp
controls/markuptest.cpp
controls/notebooktest.cpp
controls/ownerdrawncomboboxtest.cpp
controls/pickerbasetest.cpp
controls/pickertest.cpp
controls/radioboxtest.cpp
controls/radiobuttontest.cpp
controls/rearrangelisttest.cpp
controls/richtextctrltest.cpp
controls/slidertest.cpp
controls/spinctrldbltest.cpp
controls/spinctrltest.cpp
controls/textctrltest.cpp
controls/textentrytest.cpp
controls/togglebuttontest.cpp
controls/toolbooktest.cpp
controls/treebooktest.cpp
controls/treectrltest.cpp
controls/treelistctrltest.cpp
controls/virtlistctrltest.cpp
controls/webtest.cpp
controls/windowtest.cpp
events/clone.cpp
events/propagation.cpp
events/keyboard.cpp
font/fonttest.cpp
image/image.cpp
image/rawbmp.cpp
html/htmlparser.cpp
html/htmlwindow.cpp
menu/accelentry.cpp
menu/menu.cpp
misc/guifuncs.cpp
misc/selstoretest.cpp
misc/garbage.cpp
misc/settings.cpp
<!--
This one is intentionally duplicated here (it is also part of
non-GUI test) as sockets behave differently in console and GUI
applications.
-->
net/socket.cpp
sizers/boxsizer.cpp
sizers/wrapsizer.cpp
toplevel/toplevel.cpp
validators/valnum.cpp
window/clientsize.cpp
window/setsize.cpp
xml/xrctest.cpp
</sources>
<wx-lib>webview</wx-lib>
<wx-lib>richtext</wx-lib>
<wx-lib>media</wx-lib>
<wx-lib>xrc</wx-lib>
<wx-lib>xml</wx-lib>
<wx-lib>adv</wx-lib>
<wx-lib>html</wx-lib>
<wx-lib>core</wx-lib>
<wx-lib>net</wx-lib>
<wx-lib>base</wx-lib>
</exe>
<wx-data id="data">
<files>testdata.fc</files>
<!-- test data for image/image.cpp test unit: -->
<files>horse.ani horse.bmp horse.cur horse.gif horse.ico horse.jpg
horse.pcx horse.png horse.pnm horse.tga horse.tif horse.xpm</files>
</wx-data>
<wx-data id="data-images">
<srcdir>$(SRCDIR)/image</srcdir>
<dstdir>image</dstdir>
<files>horse_grey.bmp horse_grey_flipped.bmp
horse_rle4.bmp horse_rle4_flipped.bmp
horse_rle8.bmp horse_rle8_flipped.bmp</files>
</wx-data>
<template id="catalog">
<dstdir>$(BUILDDIR)/intl/$(id)</dstdir>
<srcdir>$(SRCDIR)/intl/$(id)</srcdir>
<files>internat.po internat.mo</files>
</template>
<wx-data id="fr" template="catalog"/>
<fragment format="autoconf">
# notice the ugly hack with using CXXWARNINGS: we can't use CPPFLAGS as
# currently the value in the makefile would be ignored if we did, but
# warnings don't matter when we expect compilation to fail anyhow so we can
# use this variable to enable the compilation of code which is supposed to
# fail
failtest: failtest_combobox failtest_evthandler
failtest_combobox:
@$(RM) test_gui_comboboxtest.o
if $(MAKE) CXXWARNINGS=-DTEST_INVALID_COMBOBOX_ISEMPTY test_gui_comboboxtest.o 2>/dev/null; then \
echo "*** Compilation with TEST_INVALID_COMBOBOX_ISEMPTY unexpectedly succeeded.">&amp;2; \
exit 1; \
fi; \
exit 0
failtest_evthandler:
@$(RM) test_evthandler.o
@for d in GLOBAL STATIC METHOD FUNCTOR NO_HANDLER DERIVED WRONG_CLASS; do \
if $(MAKE) CXXWARNINGS=-DTEST_INVALID_BIND_$$d test_evthandler.o 2>/dev/null; then \
echo "*** Compilation with TEST_INVALID_BIND_$$d unexpectedly succeeded.">&amp;2; \
exit 1; \
fi; \
done; \
exit 0
.PHONY: failtest
</fragment>
</makefile>