Matthias Clasen
8a25f54e1f
Add more label parsing tests
...
Test various combinations of underline and markup
parsing.
2021-08-01 23:19:00 -04:00
Matthias Clasen
5c4aba4b9c
Merge branch 'wip/compose-parser' into 'master'
...
Clean up the GtkComposeTable api
See merge request GNOME/gtk!3746
2021-07-26 11:51:14 +00:00
Christian Hergert
5d02a8f5db
texthistory: fix calculation of n_chars
...
This should be the number of characters, not the end position. This fixes
an issue where we wouldn't coalesce insert actions together.
2021-07-15 21:26:30 -07:00
Matthias Clasen
87e2a02e0c
composetable: Rewrite Compose files if necessary
...
Apply heuristics to avoid breaking users existing configurations
with the change to not always add the default sequences.
If we find a cache that was generated before 4.4, and the Compose
file does not have an include, and doesn't contain so many sequences
that it is probably a copy of the system one, we take steps to keep
things working, and thell the user about it.
2021-07-15 09:30:09 -04:00
Matthias Clasen
264d592012
composetable: Keep the number of sequences
...
And print it out in tests.
Update all tests for this.
2021-07-15 09:30:01 -04:00
Matthias Clasen
0ad5094119
Remove some leftover debug code
2021-07-15 09:30:01 -04:00
Matthias Clasen
54dffa07f3
composetable: Drop GtkComposeTableCompact
...
All tables use the compact format now, and we generate
caches in that format too. Bump the cache version to 3
for this.
Replace the python script for generating the builtin table
by a small C program using the same code to generate the data
for the builtin table. This drops the restriction on only
generating a single character in the builtin sequences.
2021-07-13 22:03:23 -04:00
Matthias Clasen
485dc052ca
composetable: Allow removing sequences
...
Interpret an empty string as value in the Compose
file to mean: Remove this sequence.
Tests included.
2021-07-13 22:02:33 -04:00
Matthias Clasen
45d39c2802
composetable: Switch to using a hash table
...
This lets us naturally replace matching sequences
while parsing. That means that the semantics are now
"last one wins" if the parser sees multiple entries
for the same sequence.
Add a testcase that checks the new replacement semantics.
2021-07-13 22:02:33 -04:00
Matthias Clasen
3b4b1c6878
composetable: Reinterpret %L
...
When we see include "%L" in a Compose file, use the
builtin sequences. We no longer filter out duplicates
wrt. to the builtin sequences.
2021-07-13 22:02:33 -04:00
Matthias Clasen
ff4f07d76f
composetable: Handle substitutions in includes
...
Hande the %H, %L, %S substitutions that are described
in Compose(7).
Test included.
2021-07-13 22:02:33 -04:00
Matthias Clasen
fb6c8cd466
composetable: Handle includes
...
This adds the mechanics for parsing include lines in
Compose files. We do detect and prevent cycles.
Tests included.
2021-07-13 22:02:33 -04:00
Matthias Clasen
d25557a5ef
Clean up the GtkComposeTable api
...
Keep the list of composetables private to GtkIMContextSimple,
and just have an api that creates new GtkComposeTables, either
from a file or from data.
Update tests to use the new api.
2021-07-13 22:02:33 -04:00
Matthias Clasen
e415f25c8f
Add another text history test
...
Add a tests that checks we group undo actions as expected
when the user is typing.
2021-07-01 18:08:05 -04:00
Matthias Clasen
89f57d4ff6
Add a mnemonic testcase
...
Add a testcase that tests the label mnemonic handling
that was fixed in the previous commit.
2021-06-15 13:32:31 -04:00
Matthias Clasen
007cdf8787
Add tests for empty list models
...
Test that all our models return NULL for out-of-range
get_item calls, as expected.
2021-06-11 15:38:20 -04:00
Matthias Clasen
9993e91add
Add GtkFileFilter tests
2021-06-04 21:10:01 -04:00
Matthias Clasen
47400e4bd8
Add a helper to make case-insensitive globs
...
This will be used in GtkFileFilter in the future.
Tests included.
2021-06-04 21:10:01 -04:00
Matthias Clasen
31407d0a4c
Move fnmatch testcases to the testsuite
...
We have a well-working way to test internal
apis now, lets use it for these tests.
2021-06-03 23:58:50 -04:00
Matthias Clasen
578db92973
Cosmetics: Eradicate gint
...
Remove a handful of errant uses of gint.
2021-06-03 17:41:28 -04:00
Matthias Clasen
0268c9d642
Add tests for text buffer history
...
Check that things can be undone.
2021-05-26 14:36:16 -04:00
Matthias Clasen
b2b044ce95
Move text history tests
...
We can test internal apis in our testsuite now,
so move the text history tests there, to have them
run in ci.
2021-05-26 07:34:28 -04:00
Matthias Clasen
04bac8ef2a
testsuite: Run some installed tests exclusively
...
My suspicion is that the clipboard (and some other)
installed test interferes with others, because the
clipboard is a shared resource.
2021-05-17 07:16:42 -04:00
Emmanuele Bassi
6189e343f3
build: Do not use C arguments with C++
...
Otherwise the C++ compiler will start to complain.
The C++ keyword test does not need additional warnings.
2021-05-11 12:24:34 +01:00
Matthias Clasen
a3f5283018
Add some calendar tests
...
Check that the getters and setters work as documented.
This tests the fix in 1f8985e476
.
2021-05-07 07:52:11 -04:00
Dan Cîrnaț
12d591178e
Fix compilation of c++ test: cpp_args
...
The correct meson argument for c++ is cpp_args.
Remove unnecessary(?) "-Idummy-headers" - breaks build
2021-05-06 10:38:41 +02:00
Matthias Clasen
f98353c20b
Force g_test_init to cooperate
...
Change all g_test_init calls in the testsuite
to avoid the macro, so they work regardless of
G_DISABLE_ASSERT.
2021-04-12 21:22:46 -04:00
Matthias Clasen
8c156e6b80
testsuite: Reduce the use of g_assert
...
Stop using g_assert() in the gtk tests.
2021-04-12 21:22:46 -04:00
Matthias Clasen
076f79745b
Add one more compose test
2021-04-01 16:32:30 -04:00
Matthias Clasen
7f4522a3f1
Add more compose tests
...
Test the sequences whose demise made people
unhappy.
2021-04-01 15:32:32 -04:00
Matthias Clasen
d1c66f75e3
Disable flaky focus tests
2021-03-30 11:00:54 -04:00
Matthias Clasen
db126a19b6
Plug a test memleak
2021-03-27 21:52:49 -04:00
Matthias Clasen
d24a0e9606
tests: Plug a memory leak
2021-03-27 21:13:25 -04:00
Matthias Clasen
01f4e5c8cd
Add some more compose tests
...
These tests changes to the algorithmic dead key
matching.
2021-03-26 20:38:45 -04:00
Jason Francis
cd77485193
gtk: Allow selection models to take null list model during construction
...
This brings it in line with the documentation, and with the respective
set_model() functions.
2021-03-15 15:55:47 -04:00
Matthias Clasen
875a92b95f
label: Fix markup parsing interactions
...
We were not handling mnemonics vs markup right
in all cases. Rewrite the _-stripping code to
do it during the link parsing, instead of as
a separate function. This avoids the issue of
stripping _ from attribute names in markup.
Add tests.
Fixes: 3706
2021-03-02 23:25:01 -05:00
Matthias Clasen
f15aa2f3e5
imcontext: Fix a regression in Compose file parsing
...
We accidentally dropped the handing of # comments.
Bring it back. Test included.
Fixes : #3664
2021-02-14 11:56:24 -05:00
Matthias Clasen
5d6792137d
testsuite: Add a missing file
2021-02-14 11:56:24 -05:00
Emmanuele Bassi
b74a9445af
tests: Move from g_memdup() to g_memdup2()
...
The g_memdup() function is replaced by a safer version in newer versions
of GLib.
2021-02-11 14:22:23 +00:00
Matthias Clasen
949c783187
composetable: Parse hex escapes too
...
This was a small omission from the Compose file
syntax that doesn't cost us much to support.
Add a test for this syntax too.
Fixes : #1004
2021-02-02 12:05:19 -05:00
Matthias Clasen
814a4a781a
Add tests for string values
...
Add a test that checks we parse values with
multiple characters correctly.
2021-02-02 11:55:00 -05:00
Matthias Clasen
9142aa0f51
composetable: Prepare for multi character values
...
Make it possible for gtk_compose_table_check to return
a string instead of just a single Unicode character.
Currently, we only ever return strings holding a single
character, still.
2021-02-02 09:02:00 -05:00
Matthias Clasen
ecb072fdd0
composetable: Check algorithmic matching
...
Just some spot checks, enough to verify the
fix in the previous commit.
2021-02-01 21:59:21 -05:00
Matthias Clasen
8d18d93742
composetable: Add tests for compact table matching
...
Not very exhaustive, just some spot checks.
2021-02-01 21:10:44 -05:00
Matthias Clasen
c9cac5fbc3
composetable: Add tests for matching
...
This tests the api we use to match key sequences
against compose tables.
2021-02-01 19:55:56 -05:00
Matthias Clasen
569294070b
Add tests for GtkComposeTable
...
Add some tests for the code that parses Compose files.
This tests the fix in the previous commit.
2021-02-01 19:02:31 -05:00
Matthias Clasen
fe515c4c1c
testsuite: Link some tests statically
...
Link tests for private apis statically.
2021-01-23 10:34:57 -05:00
Matthias Clasen
e808fb424a
testsuite: Stop requiring diff
...
Unify the many copies of diff_with_file in one source
file, and patch it to detect diff at runtime and fall
back to a simple strcmp if we don't have it. Make all
tests use this new testutils.c, and stop requiring
diff for building the tests.
This should let us allow to build on Windows with the
default value for -Dbuild-tests.
2021-01-21 23:57:24 -05:00
Matthias Clasen
8243b5493b
a11y: Avoid __ prefixes for variable names
...
Seems that msvc does not like that.
2021-01-08 22:24:42 -05:00
Matthias Clasen
9c5a42be0d
Update expected test results
...
We have one test that expected 3.99 to show up in an error message.
2020-12-16 12:12:58 -05:00