Commit Graph

308 Commits

Author SHA1 Message Date
Behdad Esfahbod 98669ceb77 Use groupby() 2012-05-09 08:16:15 +02:00
Behdad Esfahbod c438a14b62 Add hb-diff-stat 2012-05-09 07:45:17 +02:00
Behdad Esfahbod 1058d031e2 Make hb-diff-filter-failtures retain all test info for failed tests 2012-05-09 07:35:28 +02:00
Behdad Esfahbod f1eb008cc7 Add hb-diff-colorize
Accepts --format=html now.
2012-05-09 00:01:50 +02:00
Behdad Esfahbod 9155e4ffe0 Cleanup diff
Doesn't do --color anymore.  That will go into a new hb-diff-colorize
tool.
2012-05-08 22:44:21 +02:00
Behdad Esfahbod 7d22135b4c Make hb-diff faster 2012-05-08 19:38:49 +02:00
Behdad Esfahbod a93e238e05 More tests 2012-05-08 18:55:29 +02:00
Behdad Esfahbod 585b107cde Add test caes for a minority language using Bengali
U+0985 BENGALI LETTER A followed by U+09D7 BENGALI AU LENGTH MARK.
According to Bobby de Vos on the mailing list, this results in a dotted
circle with most shaping engines, but is a legitimate sequence in this
minority language.

We reached the consensus on the list to NOT implement dotted-circle
in HarfBuzz.
2012-04-24 16:00:50 -04:00
Behdad Esfahbod 0290bbf861 Add another Thai test 2012-04-17 10:28:21 -04:00
Behdad Esfahbod 4d85252bda Add Japanese test data from Adobe's Kazuraki font ligatures 2012-04-16 15:54:26 -04:00
Behdad Esfahbod fe28b997fb Add HB_DIRECTION_IS_VALID 2012-04-14 19:19:26 -04:00
Behdad Esfahbod 4bf90f6483 Make HB_DIRECTION_INVALID be zero
This changes all the HB_DIRECTION_* enum member values, but is
nicer, in preparation for making hb_segment_properties_t public.
2012-04-12 17:38:23 -04:00
Behdad Esfahbod f9746b600a Minor 2012-04-12 09:59:26 -04:00
Behdad Esfahbod 7470b0ff80 Add Mongolian test case 2012-04-12 09:44:27 -04:00
Behdad Esfahbod a4976447cd Add Hangul test 2012-04-11 17:48:40 -04:00
Behdad Esfahbod e95d912b3b Fix diff tool 2012-04-11 17:33:02 -04:00
Behdad Esfahbod e099dd6592 Add Thai test case for SARA AM decomposition 2012-04-10 10:47:33 -04:00
Behdad Esfahbod 4450dc9354 Move around 2012-04-07 22:07:23 -04:00
Behdad Esfahbod aaa25d5f45 Add Hangul test case
Composed, and decomposed, of the same text.
2012-04-05 17:27:23 -04:00
Behdad Esfahbod 406044986a Add Hebrew diacritics test cases
From:
https://bugzilla.mozilla.org/show_bug.cgi?id=662055
2012-03-06 20:24:31 -05:00
Behdad Esfahbod 7a70ca78e0 Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067 2012-02-21 11:31:47 -05:00
Behdad Esfahbod 1a5a91dc0d Add a few more tests 2012-01-22 19:58:23 -05:00
Behdad Esfahbod 1795f3a222 Add a couple Thai test cases from Thep 2012-01-22 19:29:45 -05:00
Behdad Esfahbod ec3f506682 Add Devanagari test from Tom Hacohen 2012-01-22 19:10:55 -05:00
Behdad Esfahbod 71be4ca3dd Also ignore "ChangeLog" in manifests 2012-01-22 16:26:49 -05:00
Behdad Esfahbod 3c9a39ecd6 Remove newline 2012-01-22 16:21:19 -05:00
Behdad Esfahbod e4ccbfe276 Allow --color=html in hb-diff
Not that useful right now as we don't escape < and >.  Perhaps
another tool can be added to convert the ANSI output to HTML.
2012-01-22 16:07:32 -05:00
Behdad Esfahbod 8f80f93491 More shoveling around 2012-01-21 20:03:25 -05:00
Behdad Esfahbod c78c6e9844 Cleanup 2012-01-21 19:55:16 -05:00
Behdad Esfahbod ab94a9c542 Distribute testing tools 2012-01-21 19:43:58 -05:00
Behdad Esfahbod 3e86feb54c Speed up colorless diff 2012-01-21 19:40:30 -05:00
Behdad Esfahbod 1e58df6034 Cleanup manifest code 2012-01-21 19:37:31 -05:00
Behdad Esfahbod 956d552e10 Port hb-manifest-update to Python 2012-01-21 19:31:51 -05:00
Behdad Esfahbod 3a34e9e351 Ignore Broken Pipe errors 2012-01-21 19:15:41 -05:00
Behdad Esfahbod f22089ac24 Misc fixes 2012-01-20 21:22:14 -05:00
Behdad Esfahbod 96968bfae5 Port hb-manifest-read to Python 2012-01-20 21:16:34 -05:00
Behdad Esfahbod a59ed46fa4 Add final residues from test-shape-complex 2012-01-20 20:56:32 -05:00
Behdad Esfahbod 820e0ed318 Add Punjabi tests from test-shape-complex also 2012-01-20 20:51:52 -05:00
Behdad Esfahbod a7d71c1057 Add Tamil test data from Muguntharaj Subramanian 2012-01-20 20:50:09 -05:00
Behdad Esfahbod 5992a9941e Import test data from late test-shape-complex 2012-01-20 20:48:14 -05:00
Behdad Esfahbod 46ac456477 Fix Unicode encoding issue 2012-01-20 19:32:17 -05:00
Behdad Esfahbod ad34e39a4a Make test tools interactive
By bypassing readlines() buffering.
2012-01-20 18:40:25 -05:00
Behdad Esfahbod 91540a7d97 Move most testing logic into hb_test_tools.py
The actual utils are one-liners now.
2012-01-20 18:28:10 -05:00
Behdad Esfahbod 66aa080033 Remove test-shape-complex
New shaping testsuite and framework coming.
2012-01-20 17:36:10 -05:00
Behdad Esfahbod ed459bfb63 Add hb-unicode-encode 2012-01-20 17:24:05 -05:00
Behdad Esfahbod b12c4d4361 Add hb-diff-filter-failures 2012-01-20 17:17:44 -05:00
Behdad Esfahbod d4bffbc55b Move 2012-01-20 17:16:35 -05:00
Behdad Esfahbod 45f640c98d Minor 2012-01-20 14:24:21 -05:00
Behdad Esfahbod 47ca766a9c Minor 2012-01-20 14:21:53 -05:00
Behdad Esfahbod 8f1db07894 [test/shaping] Add some Indic test data for the new test suite
Imported from UTRRS.
2012-01-20 14:00:44 -05:00
Behdad Esfahbod 11267aef36 Fix 2012-01-20 13:57:14 -05:00
Behdad Esfahbod 4e84ce48d5 Move hb-diff to test/shaping/ 2012-01-20 13:51:22 -05:00
Behdad Esfahbod f868e1b84d Add hb-unicode-decode 2012-01-20 13:50:05 -05:00
Behdad Esfahbod 9ab23ef474 Minor 2012-01-20 13:49:56 -05:00
Behdad Esfahbod c8d81db033 Recognize more characters 2012-01-20 13:39:27 -05:00
Behdad Esfahbod 0016d4662d [test] Make hb-unicode-prettyname take a --stdin option 2012-01-20 13:31:59 -05:00
Behdad Esfahbod ad8c6446f2 [test/shaping] Add hb-unicode-prettyname 2012-01-20 13:27:40 -05:00
Behdad Esfahbod e900869b0f [test/shaping] Add hb-read-manifest 2012-01-19 20:28:15 -05:00
Behdad Esfahbod a211cd3ffc Ignore AUTHORS also 2012-01-19 20:27:53 -05:00
Behdad Esfahbod 36fe87d1b4 More Indic tests from Pravin 2012-01-19 16:55:26 -05:00
Behdad Esfahbod a33e46cf7d [test/shaping] Add hb-update-manifests 2012-01-19 15:44:55 -05:00
Behdad Esfahbod d4de562adf Start adding new shaping test suite together 2012-01-19 15:21:04 -05:00
Behdad Esfahbod 4d6dafd47f Rename test/ to test/api/ 2012-01-19 14:52:02 -05:00
Behdad Esfahbod 8d2781d692 [test] Add two Indic test cases from Bernard Massot 2012-01-19 11:36:39 -05:00
Behdad Esfahbod 055fb24d03 Add test for bug in ICU decompose
As reported by Kenichi Ishibashi on 2011-10-28.
2012-01-18 22:11:31 -05:00
Behdad Esfahbod a17554bfd5 Make test-c.c actually use hb
This will make sure we test that C code can actually link to the
library.
2011-09-28 16:57:34 -04:00
Behdad Esfahbod 738d096a06 Pass through unknown ISO 639-3 language tags to OpenType engine
In hb_ot_tag_from_language(), if first component of an unknown
language is three letters long, use it directly as OpenType language
tag (after case conversion and padding).
2011-09-02 13:31:19 -04:00
Behdad Esfahbod 4c9fe88d30 [API] Make all _from_string() functions take a len parameter
Can be -1 for NUL-terminated string.  This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.

Affected functions:

	hb_tag_t hb_tag_from_string()
	hb_direction_from_string()
	hb_language_from_string()
	hb_script_from_string()
2011-08-26 09:22:12 +02:00
Behdad Esfahbod e6c09cdf43 Remove the pre_allocate argument from hb_buffer_create()
For two reasons:

1. User can always call hb_buffer_pre_allocate() themselves, and

2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway.  This just makes the
API cleaner.
2011-08-19 19:20:26 +02:00
Behdad Esfahbod 217cc81cd9 [test/shape-complex] Print cluster and position info in --verbose 2011-08-09 14:00:44 +02:00
Behdad Esfahbod 708403e7f3 Fix warnings with old glib 2011-08-09 13:52:36 +02:00
Behdad Esfahbod 38b2118724 [API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.

Add hb_ft_font_set_funcs().  Which will make the font internally use
FreeType.  That is, no need for the font to have created using the
hb-ft API.  Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale).  This
internally creates an FT_Face and attached to the font.
2011-08-09 11:10:32 +02:00
Behdad Esfahbod c0975e1231 Fix build again 2011-08-09 00:46:18 +02:00
Behdad Esfahbod 33ccc77902 [API] Make set_user_data() functions take a replace parameter
We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
2011-08-09 00:43:24 +02:00
Behdad Esfahbod 458c89a856 Minor 2011-08-09 00:19:19 +02:00
Behdad Esfahbod f1f848e2e4 Fix build 2011-08-08 23:41:06 +02:00
Behdad Esfahbod 206e329345 [test] test-object is not FreeType-specific, move it to the right place 2011-08-07 01:10:55 -04:00
Behdad Esfahbod 9da554504e Add hb_shape_list_shapers() 2011-08-05 19:59:02 -04:00
Behdad Esfahbod 3ca6c4ecc2 Change hb_shape() API back to what it was, add hb_shape_full()
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now.  So, reverted.  Added new API for the extra
functionality.
2011-08-05 17:22:19 -04:00
Behdad Esfahbod 02aeca985b [API] Changes to main shape API
hb_shape() now accepts a shaper_options and a shaper_list argument.
Both can be set to NULL to emulate previous API.  And in most situations
they are expected to be set to NULL.

hb_shape() also returns a boolean for now.  If shaper_list is NULL, the
return value can be ignored.

shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.

shaper_list is a NULL-terminated list of strings.  Currently recognized
strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly).  The fallback backend never fails.

The env var HB_SHAPER_LIST is also parsed and honored.  It's a
colon-separated list of shaper names.  The fallback shaper is invoked if
none of the env-listed shapers succeed.

New API hb_buffer_guess_properties() added.
2011-08-04 22:38:09 -04:00
Behdad Esfahbod 0530ca9a18 Fix out-of-tree build 2011-08-04 01:42:59 -04:00
Behdad Esfahbod 199abbd0f1 Minor 2011-08-02 13:59:47 -04:00
Behdad Esfahbod 4f052b93c0 Fix build with glib but not freetype 2011-08-02 13:44:24 -04:00
Behdad Esfahbod c21be799da Minor 2011-08-02 12:05:49 -04:00
Behdad Esfahbod 07cedd81f4 Minor 2011-07-30 21:16:51 -04:00
Behdad Esfahbod 3a9b14dfdf Minor 2011-07-30 20:23:55 -04:00
Behdad Esfahbod 8613193bbf [test] Fix problem with N'ko test direction
Old HarfBuzz test suite always shaped as left-to-right and hence had wrong
0x14db, direction expected glyphstring for N'ko.  Doh!

Failures down from 92 to 88.
2011-07-30 20:21:40 -04:00
Behdad Esfahbod 1a1b501315 Minor 2011-07-29 16:36:46 -04:00
Behdad Esfahbod dd5546de15 Minor 2011-07-29 16:27:31 -04:00
Behdad Esfahbod 63c0ef4a07 Fix decompose() implementations to work with non-starter non-composables
Add tests.
2011-07-21 20:58:42 -04:00
Behdad Esfahbod ad903e66b1 s/COMBINING_MARK/SPACING_MARK/ here too. Oops! 2011-07-21 10:17:22 -04:00
Behdad Esfahbod 498e1a9be6 [icu] Implement compose()/decompose() 2011-07-20 23:19:49 -04:00
Behdad Esfahbod ffd4a436f7 Add tests for compose()/decompose()
Adjust glib fallback implementation.

The tests are not hooked up for ICU yet.
2011-07-20 22:31:23 -04:00
Behdad Esfahbod 23db8d5c92 [test] Work around glib <= 2.30 API 2011-07-12 12:02:26 -04:00
Behdad Esfahbod c4641723fb [API] Add compose() and decompose() unicode funcs, rename other ones
Add compose() and decompose() unicode funcs.  These implement
pair-wise canonical composition/decomposition.

The glib/icu implementations are lacking for now.  We are adding
API for this to glib, but I cannot find any useful API in ICU.
May end of implementing these in-house.

Changed all unicode_funcs callback names to remove the "_get" part.
Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t,
and hb_unicode_get_script() is hb_unicode_script() now.
2011-07-08 00:09:31 -04:00
Behdad Esfahbod fc551edbf2 Add todo
I'm too lazy to fix the tests now.
2011-07-07 16:09:38 -04:00
Behdad Esfahbod 253a57fb5a [test-shape-complex] Remove the greek tests
They are outdated with respect to the DejaVu Sans I'm using.
We need to add font version checking to the tests.
2011-06-28 17:26:03 -04:00
Behdad Esfahbod afa74bf904 [test-shape-complex] Print out expected and actual glyphstrings upon failure
One has to run the test with --verbose to see that right now.
2011-06-28 17:25:17 -04:00
Behdad Esfahbod 42d453b023 [test] Name tests after their input string 2011-06-28 16:59:16 -04:00
Behdad Esfahbod 2741316978 Minor
Towards a better test runner.
2011-06-28 16:21:31 -04:00
Behdad Esfahbod cc674cbf7f Minor 2011-06-28 16:17:16 -04:00
Behdad Esfahbod 20d8a3982a [test] Remove disabled code
We'd add normalization and decomposition tests later.
2011-06-28 16:16:53 -04:00
Behdad Esfahbod 9704f0ca6c [test] Restructure shape test data a bit 2011-06-28 16:15:46 -04:00
Behdad Esfahbod a346e923a9 [test] Add Indic tests from harfbuzz.old
Needs fonts to be put in test/fonts.  Tests are skipped otherwise.
Run with --verbose for details.  Working on improving the test runner
to make it easier to make sense of what's going on.
2011-06-28 12:49:18 -04:00
Behdad Esfahbod 31f18abecb Minor compiler warning fixes 2011-06-15 09:49:58 -04:00
Behdad Esfahbod 75ba4073ca [test] Rename valgrind-log to log-vaglring.txt 2011-05-27 04:14:42 -04:00
Behdad Esfahbod 654f88fbc9 [test-common] Test hb_direction_to_string()
Caught by "make check-symbols".
2011-05-27 03:40:04 -04:00
Behdad Esfahbod 18bced134f [test] Rename test-symbols to check-symbols
Shows undocumented symbols.
2011-05-27 03:40:04 -04:00
Behdad Esfahbod 0e482ec6ba [test/unicode] Fix double-free
Caught by "make check-valgrind".
2011-05-27 03:40:04 -04:00
Behdad Esfahbod 28b1bac541 [test] Switch to automake-based test-runner
Adds check-valgrind among other modes.  We do not run under gtester by
default anymore.
2011-05-27 03:40:04 -04:00
Behdad Esfahbod adbc97ddde [test] Add test-symbols that checks API symbol text coverage
We're not at 100% coverage yet, so do not enable the test by default.
2011-05-27 03:40:03 -04:00
Behdad Esfahbod 9313b9aa66 [test/version] Test hb-version.h 2011-05-27 03:40:03 -04:00
Behdad Esfahbod 5bf56ea056 [TODO] Add item 2011-05-25 14:44:08 -04:00
Behdad Esfahbod 2d8ebcb9d0 [API] One last font-funcs API change
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify.  Expect no more
changes around here.
2011-05-25 11:27:33 -04:00
Behdad Esfahbod d31691296f [test] Update to API changes 2011-05-25 11:01:32 -04:00
Behdad Esfahbod 744970af4d [API] Add support for vertical text
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
2011-05-17 17:12:34 -04:00
Behdad Esfahbod 5be7d047f6 Check for mmap()
Apparently there exist systems with mprotect(), but not mmap()?
2011-05-17 15:56:31 -04:00
Behdad Esfahbod 4053f3f788 Cosmetic 2011-05-16 17:03:27 -04:00
Behdad Esfahbod a0359485c9 Minor 2011-05-16 15:07:48 -04:00
Behdad Esfahbod 92de53ea45 [test/buffer] Add more tests for nil buffer 2011-05-16 12:24:56 -04:00
Behdad Esfahbod 065fb38c9a [test/ot-tag] More tests 2011-05-13 23:04:46 -04:00
Behdad Esfahbod 1a64f6e19a [API] Add HB_LANGUAGE_INVALID 2011-05-13 22:55:32 -04:00
Behdad Esfahbod 40b5c2e86c [test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
I'm in awe with how many bugs this test revealed.  All fixed.
2011-05-13 22:46:36 -04:00
Behdad Esfahbod 7fc5a30cb4 [API] Add hb_face_make/is_immutable() 2011-05-12 17:48:20 -04:00
Behdad Esfahbod 0fd8c2f1be [API] Make get_glyph() callback return a boolean
We need to know whether the glyph exists, so we can fallback to
composing / decomposing.  Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters.  An explicit
return value fixes that.
2011-05-12 15:14:13 -04:00
Behdad Esfahbod 8e07f93ab4 [test/shape] Check shape output 2011-05-12 14:27:44 -04:00
Behdad Esfahbod 23d2432219 [test] Add test-shape.c. Oops 2011-05-12 10:53:57 -04:00
Behdad Esfahbod c098c3acc8 [test/blob] Use MAP_ANON instead of MAP_ANONYMOUS
More portable.
2011-05-12 10:49:30 -04:00
Behdad Esfahbod 8329eb7c6c [test/shape] Add simplest test for hb_shape() 2011-05-12 01:39:17 -04:00
Behdad Esfahbod f2c1dd4f74 [test/font] Test font_funcs subclassing 2011-05-12 00:46:53 -04:00
Behdad Esfahbod 14f1e81b77 [test/font] Test empty funcs 2011-05-12 00:18:28 -04:00
Behdad Esfahbod 2ca0b5ae1e [test/font] Test more 2011-05-12 00:04:48 -04:00
Behdad Esfahbod 7033518f75 [API] Pass face to get_table() 2011-05-11 23:31:15 -04:00
Behdad Esfahbod ea93e7b27c [test/font] More tests 2011-05-11 23:22:55 -04:00
Behdad Esfahbod cdb153175f [test/font] More tests 2011-05-11 23:12:58 -04:00
Behdad Esfahbod 74d9fa3d9a [test/font] More get_empty() tests 2011-05-11 23:07:47 -04:00
Behdad Esfahbod db9f4eb4e0 [test/font] Test get_face() / get_parent() 2011-05-11 23:06:02 -04:00
Behdad Esfahbod 606923bb43 [test/font] Add test_font_properties() 2011-05-11 23:05:02 -04:00
Behdad Esfahbod da603e8038 [test/font] Start adding tests for hb-font.h 2011-05-11 22:58:54 -04:00
Behdad Esfahbod 9a14688e40 [API] Rename hb_face_create_for_data() to hb_face_create() 2011-05-11 22:49:29 -04:00
Behdad Esfahbod b8477e1da2 [test] Add tests for _get_empty() funcs 2011-05-11 21:12:44 -04:00
Behdad Esfahbod 80a6833b03 [API] Add hb_*_get_empty() for all objects 2011-05-11 18:21:58 -04:00
Behdad Esfahbod 7aa12ebdff [unicode] Simplify method setting 2011-05-11 11:55:11 -04:00
Behdad Esfahbod 74f1d896f2 Add hb_font_make/is_immutable() 2011-05-10 19:39:32 -04:00
Behdad Esfahbod 0c2ec1d78b [test] Always initialize gthread such that our mutex() stuff is tested
Now the test/object test deadlocks as expected.  Fix coming.
2011-05-10 19:11:52 -04:00
Behdad Esfahbod 6a9093cc48 [test/object] Test user_data with destroy() callback that calls user_data
Exposes the non-atomicity of user_data opertaions at this time because
we call finish() while still locked and modifying the object.  In fact,
I'm surprised that it doesn't deadlock.  It should.
2011-05-10 19:00:07 -04:00
Behdad Esfahbod f82c186304 [test/blob] Fix bug in test 2011-05-10 17:48:34 -04:00
Behdad Esfahbod 785d23acd0 [test/blob] Add create_sub_blob() 2011-05-10 17:41:44 -04:00
Behdad Esfahbod 0617b15582 [test] Test blob API 2011-05-10 17:37:08 -04:00
Behdad Esfahbod 1c9f8717eb [API] Simplify blob API, remove lock 2011-05-06 22:59:42 -04:00