Commit Graph

263 Commits

Author SHA1 Message Date
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