Commit Graph

255 Commits

Author SHA1 Message Date
Matthias Clasen
f00a1f9aae notify test: Skip GtkWidget::double-buffered
This property is now deprecated, and ignored, thus: no notification.
2014-06-22 12:09:52 -04:00
Matthias Clasen
769fc52055 Adapt icontheme tests
With our new, improved icon theme spec compliance, some of the
tests need updates to their expected outcomes.
2014-06-22 11:52:11 -04:00
Benjamin Otte
93b3179042 widgetpath: Deprecate regions
This is a foolowup to d80bf0790d
2014-06-21 15:46:44 +02:00
Matthias Clasen
99c0b3db06 Adapt the icontheme tests
With the new way of dealing with the legacy stock icons,
the builtin test needed some small updates.
2014-06-20 01:17:46 -04:00
Matthias Clasen
a8939e7cff icontheme: Add some more tests
This test checks that gtk_icon_theme_list_icons and
gtk_icon_theme_has_icon work as expected.
2014-06-20 01:17:45 -04:00
Matthias Clasen
640f9d110e Install the new icontheme test files 2014-06-19 13:52:10 -04:00
Matthias Clasen
a6f1f8dacf Add more icon theme tests
This test checks various directory size behaviours, with and
without the FORCE_SIZE flag.
2014-06-18 19:09:25 -04:00
Matthias Clasen
8253b76bf6 Add a test for builtin icons
We want to get rid of these, but as long as we still have them,
make sure they work.
2014-06-17 14:38:18 -04:00
Benjamin Otte
0e64019df3 testsuite: Remove a test
That test is not working anymore by design since commit 57c4f01e.

It was introduced pre-3.0.0 in commit 12d6b588 and the feature was never
utilized. So it seems safe to just remove the test.
2014-06-16 18:43:50 +02:00
Kalev Lember
71ac15ec2f Fix another typo 2014-06-15 11:24:39 +02:00
Matthias Clasen
d58a3439e4 Fix a typo 2014-06-15 04:15:32 -04:00
Matthias Clasen
0cb7031d1d Install all icons for installed tests
Otherwise the icontheme test fails in continuous.
2014-06-14 22:52:57 -04:00
Matthias Clasen
84cf748eae Add more icontheme tests
This test is focused on svgs, and how we scale them when
loading.
2014-06-14 15:10:49 -04:00
Benjamin Otte
45a64cd7d4 testsuite: Add a test for symbolic icons in specific sizes
Check that loading symbolics works, even if the symbolic is only
available in a fixed size.
2014-06-12 12:34:09 +02:00
Matthias Clasen
f870a50f1f Add a test for property notification
This tests just a few basic things for now. Mainly, that we don't
emit redundant notifications for enum, flags, int and boolean
properties. It also checks that we do emit the expected notifications
when the value actually changes. This is checked for string, double
and float properties as well.

There is a large number of exceptions in the test, and a lot more
checks that could be done. One class of exceptions is all the places
where we have -set booleans to go along with another property. We
should have a dedicated test for these pairs. Another class of
exceptions is where naked objects created by g_object_new () just
don't have the full functionality - e.g. a tree selection without
a tree view does not work very well. We set up the instance object
better for these situations.
2014-06-09 13:31:14 -04:00
Carlos Garnacho
524e28a13c tests: Add multitouch gesture tests
So far, gesture behavior on lack/excess of touchpoints is tested, as well
as sequence hand-in between gestures in these situations.
2014-06-04 13:54:41 +02:00
Matthias Clasen
d467850af0 Shorten test paths 2014-06-03 14:22:55 -04:00
Carlos Garnacho
94f573d8a4 tests: Add tests for grab interaction with gestures
The behavior of gestures that are kept outside/inside a grab is tested,
to ensure the former are cancelled and the latter remain unchanged.
2014-06-03 16:13:25 +02:00
Carlos Garnacho
93f72985bf tests: Add gesture tests for early/late sequence claiming
This tests both a sequence being claimed early to be then denied
(and handled deeper in propagation chain), and a sequence being
claimed late in the capture phase (and thus being cancelled deeper
in the propagation chain)
2014-06-03 16:13:25 +02:00
Carlos Garnacho
fd1a566d46 tests: Inform of gesture updates during recognition
May be useful to find out which gestures are still being triggered
by a sequence.
2014-06-03 16:13:25 +02:00
Carlos Garnacho
fe7215e369 testsuite: Prepare gestures testsuite for mouse/touch events
state is preserved for mouse emulation, and up to 10 touchpoints for touch
emulation.
2014-06-03 15:59:03 +02:00
Carlos Garnacho
26ced6abad widget: Only deny a sequence if it was previously claimed
Before this change, a sequence being claimed deep in the event propagation
chain would make the sequence go denied on every ancestor, regardless of
previous state.

To make things more consistent, only deny the sequence if it was previously
claimed, so the behavior is the same for gesture groups within the widget
than for those outside the widget.

The gestures testsuite has been updated to reflect this new behavior.
2014-06-03 15:59:03 +02:00
Carlos Garnacho
c773859c99 gesture: Ensure late gestures handling the sequence get the group state
It might happen that a gesture claims a sequence before any other gesture
in its group even handled a single event from that sequence. In that case,
ensure the state is set accordingly right when the sequence is handled in
those.

The "group" gesture testcase has been updated to observe this behavior.
2014-06-03 15:59:03 +02:00
Matthias Clasen
97930a774b Add more gestures tests
Some of these sequences look wrong/questionable to me.
2014-05-31 18:46:43 -04:00
Matthias Clasen
bdf81a7c70 gestures test: make more readable 2014-05-31 12:54:36 -04:00
Matthias Clasen
4298e88f48 gestures: Add a test for grouping
I'm not entirely convinced the test produces the expected
outcome, here.
2014-05-31 12:48:14 -04:00
Matthias Clasen
1c24b288b0 Expand gesture tests a big more
Print out sequence state changes, and cancellation, and verify that
claiming a gestures causes the expected state changes.
2014-05-31 12:26:15 -04:00
Matthias Clasen
98cf67ddba testsuite: put installed tests in the right place
Follow the prevailing practice and put the installed tests
into $libdir/installed-tests/$PACKAGE instead of
$pkglibdir/installed-tests.
2014-05-31 00:16:07 -04:00
Matthias Clasen
1153ea86ed Add a failing builder testcase
This shows <signal> failing because class_init hasn't been run
yet.
2014-05-30 12:09:43 -04:00
Matthias Clasen
2388c69f0c Add some gesture tests
This test starts to assemble tests related to event propagation,
interaction with traditional event signal handlers, claiming of
events, etc.
2014-05-27 19:15:40 -04:00
Matthias Clasen
44d76fbcdc Organize the icons
Sort the icon list in check-icon-theme.c, and add
comments so we have a chance of keeping the order.
2014-05-24 18:20:31 -04:00
Matthias Clasen
ef38d6e397 Add two more icon names to check
These were found in the trash monitor.
2014-05-23 22:59:22 -04:00
Matthias Clasen
486c82ae8f testsuite: Add more icon names
These were found by looking over the GTK+ sources and ui files.
2014-05-23 12:17:56 -04:00
Matthias Clasen
7caecf3979 Add more icons to check-icon-names
These are icons which are used as GtkArrow replacement, and
icons used for the volume button.
2014-05-23 11:52:12 -04:00
Benjamin Otte
74b6f5fba8 testsuite: Add a test for icon names
This test just checks that all the icon names that GTK uses are present
in the default icon theme.

As icon names are not checked programmatically and we do not want to run
into missing-icon icons in the code, this test seems necessary.

For now, it's just a stub that tests stock icons.
2014-05-23 17:12:32 +02:00
Marc-André Lureau
a3d0b8d7f4 tests: add clipboard set_with_data test
https://bugzilla.gnome.org/show_bug.cgi?id=730183
2014-05-22 12:44:10 +02:00
Matthias Clasen
8f7dceda3c Update treeview tests for focus changes
The treeview is not using focus-pad here anymore, so update
the tests to not expect it.
2014-05-22 06:15:12 -04:00
Matthias Clasen
f750f70c7d tests: Make icontheme test installable
To make the icontheme test run successfully when installed,
we need to use the correct test-framework-provided location,
and we need to install the test theme without stripping its
subdirectory structure.
2014-05-21 13:46:49 -04:00
Benjamin Otte
0f788ab1be testsuite: Add rtl icontheme tests 2014-05-14 04:55:11 +02:00
Matthias Clasen
0f5814aa33 icontheme: Add a test for lookup order
Add tests that verify the expected lookup order between -symbolic,
-rtl/-ltr and generic fallback.
2014-05-14 04:28:36 +02:00
Matthias Clasen
26c2975007 testsuite: Add icontheme tests for generic fallback 2014-05-14 04:28:36 +02:00
Benjamin Otte
77a9539e07 icontheme: Do a failed lookup at the beginning
Do this to catch the g_warning() that the icontheme code emits the first
time a lookup fails.
2014-05-14 04:28:36 +02:00
Benjamin Otte
5f794773aa testsuite: Add more icontheme tests
Check that the lookup order works properly when forcing either symbolic
or regular icons.
2014-05-14 04:28:36 +02:00
Benjamin Otte
5ba4a085e2 testsuite: Add a basic icontheme test
Most of the work here is creating the infrastructure to have a custom
icon theme to add icons to and run tests against.
2014-05-14 04:28:35 +02:00
Matthias Clasen
ce0325207e Add a test for the previous fix 2014-05-13 11:56:29 -04:00
Juan Pablo Ugarte
49fa04212b GtkBuilder: improved parsing error report for invalid properties and signals.
Added GTK_BUILDER_ERROR_INVALID_PROPERTY and GTK_BUILDER_ERROR_INVALID_SIGNAL
error codes

ObjectInfo: Use a GType instead of a char * for the class name.
PropertyInfo: Use a GParamSpec instead of a char * for the property name.
SignalInfo: Use signal id and detail quark instead of a detailed signal name string.

This not only save us a few malloc in each case but lets us simplify the code
and report unknown properties and signals as a parsing error instead of just
printing a warning.
2014-05-01 17:59:53 -03:00
Juan Pablo Ugarte
9753f9f55f Added template test case to builder test. 2014-04-29 12:29:18 -03:00
Juan Pablo Ugarte
887fc60cce Added bindings support to GtkBuilder by introducing 3 new <property> attributes "bind-source" to specify the source object of the binding "bind-property" to specify the source property and "bind-flags" to specify the binding flags (optional)
Binding an object sensitive property with a check button active property will look like this:

<object class="GtkButton" id="button">
  <property name="sensitive" bind-source="checkbutton" bind-property="active"/>
</object>

This is based on the original work done by Denis Washington for his GSoC project

This closes Bug 654417 "[GSoC] Add <binding> element to GtkBuilder syntax"
2014-04-18 18:59:14 -03:00
Sébastien Wilmet
704a178abb tests textiter: test word boundaries
- As the tests show, some of the functions have a strange and
inconsistent behavior for corner cases.

- Rename test_full_buffer() -> test_search_full_buffer() because
textiter.c is used for other GtkTextIter unit tests.

https://bugzilla.gnome.org/show_bug.cgi?id=727908
2014-04-13 14:04:10 -07:00
Matthias Clasen
14ce8025ca listbox: Add tests for multi-selection
This was forgotten when the multi-selection API was added,
and it was promptly broken in some places.
2014-04-13 14:04:09 -07:00
Matthias Clasen
8520282f75 Fix up builder test
Dialogs now report two children. Thats alright, adapt
the test to deal with it.
2014-03-03 23:31:48 -05:00
Benjamin Otte
750eaf53d6 testsuite: Add a test for a Firefox issue
When creating a style context, the CSS for the theme might not be
loaded. If it is, this test will succeed.

https://bugzilla.redhat.com/show_bug.cgi?id=1064922
https://bugzilla.mozilla.org/show_bug.cgi?id=972382
2014-02-20 02:10:07 +01:00
Matthias Clasen
496f14ee53 Add some more templates tests
GtkActionBar and GtkSearchBar also use templates,
add them here.
2014-02-17 21:42:38 -05:00
Matthias Clasen
c45932f9bc Exempt GtkAssistant.use-header-bar from defaultvalue test
Just like GtkDialog, this one has a special-purpose
default value.
2014-02-02 19:47:36 -05:00
William Jon McCann
d87ea4776a Merge GtkFileChooserWidget and GtkFileChooserDefault
It seems that alternate implementations of GtkFileChooserWidget
never materialized. The split between GtkFileChooserWidget and
GtkFileChooserDefault is awkward. The immediate problem is that
it makes it difficult to document the keybinding signals. So it
makes sense to drop the abstraction and just have one thing.

https://bugzilla.gnome.org/show_bug.cgi?id=723157
2014-01-28 23:09:42 -05:00
Matthias Clasen
88a070e84d Exclude GtkPopover::pointing-to from the defaultvalue test 2014-01-25 14:20:51 -05:00
Matthias Clasen
c6ae9e6b47 Exclude use-header-bar from the defaultvalue test 2014-01-17 17:52:08 -05:00
Matthias Clasen
abe29dd188 Update all internal users of gtk_dialog_get_action_area
Some of these should be revisited and fixed. For now,
just avoid the deprecation warnings.
2014-01-17 17:52:07 -05:00
Ryan Lortie
bc3867eb85 GtkApplicationWindow: give up on handling dispose
Stop trying to deal with "theoretical possibilities".

We can't possibly continue to be a faithful GActionGroup implementation
across dispose because dispose has a side effect of removing everyone's
signal handlers.

The code that we ran after the dispose chainup to do all of the fancy
signal emulation was therefore dead.  The test that aimed to verify this
was buggy itself due to an uninitialised variable, so really, it never
worked at all.

We keep the re-ordering of the chainup from the original commit to avoid having
trouble with GtkActionMuxer and keep the checks in place that will prevent an
outright segfault in the case that someone else tries to use the interface
post-dispose.

https://bugzilla.gnome.org/show_bug.cgi?id=722189
2014-01-14 10:41:35 -05:00
Steve Langasek
256561db2f fix prototypes of signal callbacks in the test suite
The signal callbacks are defined to take pointers as their arguments, but the
callbacks found in testsuite/gtk/builder.c are passing a GParamSpec by value
as the second argument.  This confuses and angers the compiler on ppc64el,
resulting in segfaults after return from the function due to stack-smashing
by the (completely-unused) argument.

https://bugzilla.gnome.org/show_bug.cgi?id=721700
2014-01-08 10:43:52 +01:00
Ryan Lortie
99ebb1cad2 app window: test actiongroup across destroy
Make sure that we don't violate the interface contract of GActionGroup
just because gtk_widget_destroy() was called.

https://bugzilla.gnome.org/show_bug.cgi?id=710351
2014-01-07 20:30:57 -05:00
Matthias Clasen
9bfe7525ce Fix make dist 2013-12-05 01:04:10 -05:00
Lars Uebernickel
e5828073c2 gtk object tests: run under local environment
Make sure that the tests don't access the host's session bus or
installed gsettings schemas.

Also disable tests for some classes that leak a connection to the
session bus.

https://bugzilla.gnome.org/show_bug.cgi?id=711715
2013-12-03 14:24:16 +01:00
Ryan Lortie
ce2d9b430c defaultvalue test: ignore show-desktop
Ignore the "show-desktop" property on GtkPlacesSidebar for the
defaultvalue test.

Currently, "make check" is passing because it runs the test under a xvfb
with no XSETTINGS provider, so we see the Gtk default value.  No matter
what we set the default value to in Gtk, however, there will be some
desktop environment in which someone running the installed test outside
of an xvfb will get the wrong result.  Best to ignore it.

https://bugzilla.gnome.org/show_bug.cgi?id=712302
2013-11-26 14:27:59 -05:00
Philip Withnall
9d7a442b8b testsuite: Fix potential strcmp() against NULL
Use g_strcmp0() instead.

Found by scan-build.

https://bugzilla.gnome.org/show_bug.cgi?id=712760
2013-11-24 21:21:46 +00:00
Matthias Clasen
df455db2e3 GtkBuilder: Make IDs optional
One requirement of .ui files is that each object must have an ID,
even if it is never referred to or directly loaded from the code.
This makes editing .ui files much more onerous than it has to be,
due to the frequent need to invent new IDs, while avoiding
clashes.

This commit makes IDs optional in the XML. They only need to
be provided for objects which are referred to or explictly loaded
from the code. Since GtkBuilder needs IDs for its own internal
accounting, we create IDs of the form ___object_N___ if not
specified in the XML.

https://bugzilla.gnome.org/show_bug.cgi?id=712553
2013-11-18 06:00:02 -05:00
Benjamin Otte
5f83d6188f testsuite: Remove extra calls to gtk_style_context_invalidate()
They aren't needed anymore.
2013-10-05 13:57:51 +02:00
Benjamin Otte
7a9641b0f6 testsuite: Add a test for functions that work without gtk_init()
So far, this is just supposed to be gdk_cairo_set_source_pixbuf().

Note that this is usually not an API guarantee but courtesy to
applications that used these APIs without a gtk_init() call.

https://bugzilla.gnome.org/show_bug.cgi?id=708547
2013-09-24 16:42:48 +02:00
Sébastien Wilmet
7e8bd7c43d textbuffer: add unit tests for the clipboard
It tests gtk_text_buffer_paste_clipboard(),
gtk_text_buffer_copy_clipboard() and gtk_text_buffer_cut_clipboard() in
various situations, including when GtkTextTags are applied to the
selection.

The last test didn't pass.

https://bugzilla.gnome.org/show_bug.cgi?id=339539
2013-09-16 09:48:24 +02:00
Jasper St. Pierre
c63799a624 accessible: Fix test runner
This was an obvious typo.
2013-09-03 17:59:19 -04:00
Benjamin Otte
772aed19f7 testsuite: Add a clipboard test
I'm not sure I like it yet because it deadlocked once and I haven't
figured out why that is.
2013-08-23 13:01:41 +02:00
Matthias Clasen
2430496da4 Remove assertions that are no longer true
The GtkBuilder infobar tests were asserting facts about the
internal structure of the widget that are no longer true.
2013-08-03 18:31:09 +02:00
Erik van Pienbroek
82e5e4b50e Don't use UNIX-specific printer objects on non-UNIX
https://bugzilla.gnome.org/show_bug.cgi?id=704173
2013-07-31 10:17:45 +08:00
Jasper St. Pierre
4e09b56b76 testsuite: Ignore generated .test files 2013-07-11 12:57:06 -04:00
Matthias Clasen
f8e4dbc6f4 Remove debug spew 2013-07-09 20:06:23 -04:00
Emmanuele Bassi
a71def87c5 tests: Use the new macros for adding instance private data
https://bugzilla.gnome.org/show_bug.cgi?id=702996
2013-07-09 09:30:02 +01:00
Kalev Lember
1f9fd5a952 testsuite: Add tests for gtk_list_box_row_get_index
https://bugzilla.gnome.org/show_bug.cgi?id=703618
2013-07-04 15:19:47 +02:00
William Jon McCann
c96a1c4980 Deprecate GtkAction and GtkUIManager
It is recommended to use GAction et al and GtkBuilder.
2013-06-30 11:19:50 -04:00
Matthias Clasen
1bf16944c9 Add a testcase for closing display before exit
It works right now, lets keep it that way.
2013-06-29 19:24:22 -04:00
William Jon McCann
aef9dca9d5 Deprecate GtkIconFactory, GtkIconSet, GtkIconSource
We want to use GtkIconTheme instead. It is worth noting that
the parts that remain undeprecated are GtkIconSize and gtk_icon_size_lookup.
2013-06-26 20:02:27 -04:00
Benjamin Otte
14c78ed667 testsuite: Ignore deprecation warnings 2013-06-26 15:51:32 +02:00
William Jon McCann
3224e72bc1 Don't use stock APIs in the testsuite 2013-06-24 19:53:08 -04:00
Sébastien Wilmet
ea4e88df86 textiter: bug fix in forward_search() and backward_search()
When the search is case sensitive, g_utf8_normalize() is not called, so
the skip_decomp argument of the function forward_chars_with_skipping()
must be FALSE.

To verify that, when searching "éb", the count parameter of
forward_chars_with_skipping() have a different value:
- case sensitive: count = 2
- case insensitive: count = 3 (g_utf8_normalize() has been called)

The commit adds unit tests that didn't pass before, and that now pass
(without known regression, obviously).

https://bugzilla.gnome.org/show_bug.cgi?id=702977
2013-06-24 20:14:39 +02:00
Benjamin Otte
4c526e602b tests: Ignore deprecations
... for where there's no replacement.
2013-06-24 01:13:44 +02:00
Benjamin Otte
53a85c4084 testsuite: Don't use deprecated functions 2013-06-21 02:59:23 +02:00
Sébastien Wilmet
08d49fdd58 Fix gtk_text_iter_forward_to_tag_toggle() for end iter
The function must return TRUE only if there is a tag toggle _after_ the
iter, not _at_ the iter. So for the end iter, the function must always
return FALSE.

Add also unit tests for gtk_text_iter_forward_to_tag_toggle().

https://bugzilla.gnome.org/show_bug.cgi?id=691266
2013-06-20 20:22:56 +02:00
Matthias Clasen
d1fd74417c Avoid an uninitialized variable access 2013-06-15 23:36:33 -04:00
Matthias Clasen
137e6f4d5f Avoid an uninitialized variable access 2013-06-15 23:36:10 -04:00
Matthias Clasen
945e7a08f3 Fix a small memory leak 2013-06-15 23:35:51 -04:00
Matthias Clasen
059385b7b8 Remove testing test again
This one fails on the build servers.
2013-06-15 21:18:12 -04:00
Matthias Clasen
c5e241147b Add a few tests back
These were lost in the Makefile cleanup.
2013-06-15 20:23:01 -04:00
Matthias Clasen
fdb983f67e Fix object test 2013-06-15 20:23:01 -04:00
Matthias Clasen
949402ebed Fix defaultvalue test 2013-06-15 20:23:01 -04:00
Matthias Clasen
864ca76bf9 testsuite: Avoid g_test_trap_fork
Fix cellarea tests to use g_test_trap_subprocess instead.
2013-06-15 16:27:04 -04:00
Matthias Clasen
8fbe284c5f Add listbox tests 2013-06-15 16:03:43 -04:00
Matthias Clasen
e4af0e9bed testsuite: clean up build machinery a bit
No point in setting LDADD for every single binary,
when we can do it just once. Also, generate test.in files.
2013-06-15 16:03:19 -04:00
Matthias Clasen
551f01e5f3 Drop unneeded define
SRCDIR is no longer used.
2013-05-29 22:02:12 -04:00
Matthias Clasen
0d768ee8a8 Make sure we dist all testsuite ingredients 2013-05-29 21:00:37 -04:00
Benjamin Otte
8b1740b965 tests: Stop expander from failing
The test was flaky without gtk_widget_wait_for_draw().
2013-05-22 00:15:08 +02:00
Benjamin Otte
cadbc9b9cc testsuite: temporarily disable failing tests 2013-05-17 20:49:52 +02:00
Benjamin Otte
4cf5ca3233 tests: Use gtk_tree_view_wait_for_draw() in treeview-scrolling
Replace all idle handlers waiting for draw and all manual runs of the
event loop with a call to gtk_tree_view_wait_for_draw().
2013-05-17 20:49:52 +02:00
Benjamin Otte
edaeacba13 testsuite: Fix output of broken sed script in previous commit 2013-05-16 19:51:07 +02:00
Benjamin Otte
e20d48a5d3 testsuite: install tests in gtk/ 2013-05-16 19:44:23 +02:00
Benjamin Otte
209ffc18e0 testsuite: Fix srcdir != builddir builds 2013-05-15 15:59:42 +02:00
Benjamin Otte
bdfb55c945 build: Move gtk/tests to testsuite/gtk 2013-05-15 15:37:16 +02:00