253 Commits

Author SHA1 Message Date
Cosimo Lupo
3b9ced71e0 move all test data inside the inlined ufoLib/test modules, and install them
Since the test suite is inlined, it makes sense to also have the test data installed alongside the test modules.
So all the content of the two top-level folders Data and TestData is now placed inside Lib/ufoLib/test/testadata.
The MANIFEST.in has been adjusted accordingly.
The `install_package_data` in setup.py ensures the package data specified in the manifest is installed with the package.

This way anyone who installs ufoLib (even the wheel from PyPI) can run the test suite with `pytest --pyargs ufoLib`.
2016-10-17 19:41:13 +01:00
Denis Moyogo Jacquerye
e6a1a658f0 glifLib: try importing from fontTools.misc.xmlWriter first
fixes #41
2016-10-13 21:42:51 +01:00
Cosimo Lupo
f320554077 ufoLib.__init__: use os.path instead of slash to fix doctest failing on Windows 2016-09-11 17:44:12 +01:00
Cosimo Lupo
8747da76a4 filenames.py: fix doctests for py2.py3; import unicode_literals 2016-09-11 17:00:13 +01:00
Cosimo Lupo
ee38446982 glifLib.py: use +IGNORE_EXCEPTION_DETAIL to make doctest work on both Python2 and 3
http://python3porting.com/problems.html#handling-expected-exceptions
2016-09-11 17:00:13 +01:00
Cosimo Lupo
5fb9a13957 converters.py: fix up kerningValidator doctest 2016-09-11 17:00:13 +01:00
Denis Moyogo Jacquerye
4f83f4bbe1 tests: copy doctest as unittest in test_filenames 2016-07-11 13:49:59 +01:00
Denis Moyogo Jacquerye
bb21cb7c3a userNameToFileName expects userName to be unicode strings, let it raise
if not
2016-07-11 13:49:59 +01:00
Adrien Tétar
ec0fe57545 filenames: only allow unicode in py2
i.e. restore the old behavior
2016-07-08 21:19:16 -07:00
Cosimo Lupo
f92dcf36c1 don't write layerinfo.plist if 'lib' element is empty 2016-06-28 13:52:23 +01:00
Cosimo Lupo
f6689faf5b glifLib: don't raise AttributeError if element.text attribute is None
When an element tree is built from code, or it is parsed from a string that was not pretty-printed (i.e. without indentation), the 'text' attribute of an Element instance can be None. So we must ensure it's not None before calling `strip()` method.
2016-06-25 19:04:24 +01:00
Tal Leming
321ea7f766 Merge pull request #33 from anthrotype/isinstance-mapping
validators: check isinstance of collections.Mapping rather than dict
2016-06-24 09:47:59 -04:00
Cosimo Lupo
971a92bfe8 glifLib: use len() to check if ElementTree.Element is empty or contains children 2016-06-05 19:07:45 +01:00
Cosimo Lupo
fed7cef3cf validators: check isinstance of collections.Mapping rather than dict
The `collections` module provides a set of abstract base classes that can be used to
test whether a class provides a particular interface (e.g. whether it is a mapping).

It's better if ufoLib uses that with `isinstance` rather than requiring instances of
`dict`, or subclasses of `dict`.
2016-06-05 16:16:02 +01:00
Cosimo Lupo
fc4f810f61 plistFromETree: use len(element) to check if there are subelements to avoid FutureWarning 2016-06-05 16:03:24 +01:00
Adrien Tétar
81e6c235af glifLib: fixup contour validation code 2016-05-31 09:59:02 -07:00
Denis Moyogo Jacquerye
04d96d7fe0 test: split tests in test_GLIF1 and test_GLIF2 2016-05-31 09:46:57 -07:00
Denis Moyogo Jacquerye
b8f4145d76 glifLib: raise error when text is in <glyph> and in <outline> 2016-05-31 14:33:58 +01:00
Denis Moyogo Jacquerye
49c9640f73 test: split GLIF1 and GLIF2 tests 2016-05-31 11:25:12 +01:00
Denis Moyogo Jacquerye
16e2c0f308 use unicode_literals 2016-05-31 11:23:05 +01:00
Adrien Tétar
8044d2fb88 Use ElementTree in glifLib and drop embedded XML parsing infrastructure 2016-05-20 11:11:15 -07:00
Tal Leming
4d26482e9a Add an optimized implementation of the kerning value lookup algorithm from the spec.
The optimization is that the caller can provide glyph to group mappings.
2016-05-16 10:22:38 -04:00
Tal Leming
185c04220d The UFO spec has changed with regard to kerning conflicts. Reflect this in ufoLib. 2016-04-22 13:30:28 -04:00
Tal Leming
e193b72ff3 Work through the pairs in a reliable order. 2016-03-28 07:19:21 -04:00
Tal Leming
44474ee8e5 Slight tweak to the reporting of problematic pairs. 2016-03-27 23:14:25 -04:00
Adrien Tétar
338d97c076 Merge pull request #21 from behdad/allow-duplicate-non-conflicting-kerning
Allow duplicate non-conflicting kerning pairs
2016-03-27 23:24:03 +02:00
Behdad Esfahbod
f5ddac0e5d Allow duplicate non-conflicting kerning pairs
Fixes https://github.com/unified-font-object/ufoLib/pull/15#issuecomment-193552682
2016-03-27 13:47:15 -07:00
Cosimo Lupo
ace2a4a6bc [glifLib] use use repr() to stringify floats for py23 compat
Closes #19
2016-03-17 16:06:03 +00:00
Cosimo Lupo
6dbca7fa38 [testSupport] use repr() to stringify floats for py23 compat
Part of fixing #19
2016-03-17 16:04:11 +00:00
Adrien Tétar
fab99c30e5 plistlib: reimplement as shim 2016-03-01 12:43:04 +01:00
Adrien Tétar
ded0d09cd1 plistlib API dispatch 2016-02-27 17:04:58 +01:00
Adrien Tétar
cb104104b0 glifLib: remove legacy workaround 2016-02-27 14:53:04 +01:00
Adrien Tétar
9e5dbff662 gliflib: use stdlib plistlib 2016-02-27 14:52:35 +01:00
Adrien Tétar
46879af112 validators: export pngSignature
To remove duplicate in defcon.
2016-02-21 12:11:41 +01:00
Adrien Tétar
5d89437108 pointPen: add missing GuessSmoothPointPen 2016-01-17 10:46:39 +01:00
Adrien Tétar
c6132fdd35 pointPen: add pt count in assertions 2015-12-25 23:51:26 +01:00
Adrien Tétar
67414f21ff pointPen: add adapter pens
and annihilate remaining robofab dependency
2015-12-13 20:48:01 +01:00
Denis Jacquerye
d05df7eb7e Python 2/3: replace str by basestring 2015-11-18 13:22:14 +00:00
Adrien Tétar
0d3cdb1ee4 glifLib: open files as binary to avoid line-endings normalization 2015-11-08 15:41:43 +01:00
Adrien Tétar
0b60503f4f test: fix a test on Windows 2015-11-08 11:49:06 +01:00
Adrien Tétar
ae7ad468c0 stop importing robofab in the test suite 2015-11-08 11:33:29 +01:00
Adrien Tétar
e345fec96f meta: remove robofab files 2015-11-08 11:11:11 +01:00
Denis Jacquerye
5b43ab5b42 ufoLib.test.test_glifLib: undo some 2to3 2015-11-06 15:11:04 +00:00
Denis Jacquerye
3be6afbf72 ufoLib.test.test_glifLib: remove test for robofab’s glyphNameToShortFileName 2015-11-06 15:06:52 +00:00
Denis Jacquerye
929ed4454c ufoLib: drop READ_MODE and WRITE_MODE 2015-11-06 15:06:52 +00:00
Denis Jacquerye
92bf29bd70 ufoLib.glifLib: add anchors to list of attributes in description of readGlyph() and writeGlyph() 2015-11-06 15:06:51 +00:00
Denis Jacquerye
31d358af40 test_UFOConversion, test_UFO{1,2,3}: use plistlib load and dump 2015-11-06 15:06:51 +00:00
Denis Jacquerye
3df210b68f ufoLib.test.test_glifLib: testRoundTrip() anchors don't come in the same order anymore 2015-11-06 15:06:51 +00:00
Denis Jacquerye
c643b67f08 ufoLib.glifLib: glyph.drawPoints(None) should set attr anchors 2015-11-06 15:06:51 +00:00
Denis Jacquerye
e1dd985741 ufoLib.glifLib: undo some 2to3 2015-11-06 15:06:51 +00:00