2416 Commits

Author SHA1 Message Date
Behdad Esfahbod
a6178fd4fb [mtiLib] Fix and enable chained-glyph test 2016-12-27 13:40:27 -05:00
Behdad Esfahbod
1896353af0 [mtiLib] Enable testing same source against multiple tableTags 2016-12-27 13:38:51 -05:00
Behdad Esfahbod
2f800c9384 [mtiLib] Allow empty lookup 2016-12-27 13:37:11 -05:00
Behdad Esfahbod
edd46bb14a [mtiLib] Remove use of MockFont in tests
Tests pass on both Python 2 and 3 now. Yay!

MockFont is handy for mtiLib.__init__:main().  Not sure how useful it is
otherwise, and what to replace it with.
2016-12-27 13:28:06 -05:00
Behdad Esfahbod
f6294ba7bd [mtiLib] More deterministic output with MockFont 2016-12-27 13:09:39 -05:00
Behdad Esfahbod
8358a7248f [mtiLib] Make output more deterministic with MockFont
I'll first make Python 2 and 3 both generate same output for tests with
MockFont, then will probably hardcode glyphorder and remove MockFont
completely and remove hacks I added to make tests work with MockFont.
2016-12-27 13:03:37 -05:00
Behdad Esfahbod
2034cef52f Write test diffs to stderr, not stdout 2016-12-26 20:30:00 -05:00
Behdad Esfahbod
0661b0805b [mtiLib] Fix warnings in tests with Python3 2016-12-26 20:15:53 -05:00
Behdad Esfahbod
31b6aab8e1 [mtiLib] One more try to make bots happy 2016-12-26 18:06:44 -05:00
Behdad Esfahbod
ab01846a8d [mtiLib] Add some more tests 2016-12-26 17:35:21 -05:00
Behdad Esfahbod
2d3610bb6b Ignore class=0 when reading & writing ClassDef objects
class=0 items might be added as an optimization.  They have no semantic value.
Ignore them.

Fixes the last of mtiLib tests.
2016-12-26 17:26:14 -05:00
Behdad Esfahbod
101303ab50 [mtiLib] Fix two more tests 2016-12-26 17:14:39 -05:00
Behdad Esfahbod
fc25b26ca2 [mtiLib] Fix expected output of two remaining tests 2016-12-26 16:58:19 -05:00
Behdad Esfahbod
795e66747c Print XML output from compil-roundtripped object, not the built one
This is almost always the correct thing to print.  If the two differ, that's
bad, but print the better one.
2016-12-26 16:50:00 -05:00
Behdad Esfahbod
8c571d1b73 [mtiLib] Fix order of diffing test outputs 2016-12-26 16:49:48 -05:00
Behdad Esfahbod
3689f0ffdc [mtiLib] Whitespace 2016-12-26 16:39:50 -05:00
Behdad Esfahbod
aa3b94db0a [mtiLib] Fix mti/gpospairglyph test 2016-12-26 16:36:38 -05:00
Behdad Esfahbod
f4c9134957 [mtiLib] Fix gposmarktobase test 2016-12-26 16:29:20 -05:00
Behdad Esfahbod
4f6dea2d99 [mtiLib] Fix gpossingle test 2016-12-26 16:27:45 -05:00
Behdad Esfahbod
730f77a606 [mtiLib] Make test pass
mark-to-ligature was failing because we were not setting ClassCount.
2016-12-26 16:23:02 -05:00
Behdad Esfahbod
180362d30c [mtiLib] Add test data from spec, with test runner 2016-12-26 16:22:54 -05:00
Behdad Esfahbod
5858750dc3 [mtiLib] Fix warnings 2016-12-26 15:29:09 -05:00
Behdad Esfahbod
6c140cbba1 [testTools] Move MockFont from mtiLib to testTools
This is useful for testing beyond just mtiLib.
2016-12-26 14:34:29 -05:00
Cosimo Lupo
1f086bb230
Bump version: 3.4.0 → 3.4.1.dev0 2016-12-21 18:13:54 +00:00
Cosimo Lupo
fc7cc64e81
Release 3.4.0 2016-12-21 16:08:55 +00:00
Cosimo Lupo
dd5e9a8a28
testTools: fix failing tests on Python 3.4
Apparently b"string %s" % (b"interpolation") works on Python 3.5 but not on 3.4.

We whall maybe start thinking about dropping support for 3.4, now that 3.6 is out next week...
2016-12-21 14:12:43 +00:00
Cosimo Lupo
689d0c3fe4
set maxDiff=None attribute only once, using setUpClass method of unittest.TestCase 2016-12-21 13:57:44 +00:00
Cosimo Lupo
f112a05be2
adjust unit tests to expect a list of strings from getXML() 2016-12-21 13:57:44 +00:00
Cosimo Lupo
dff319f14e
testTools_test: add test for getXML; test bytes, unicode and list input for parseXML 2016-12-21 13:57:39 +00:00
Cosimo Lupo
540f0c32b4
testTools: getXML returns a list of strings; parseXML also accepts both a string or list of strings
When writing unit tests for XML data, it is more convenient to compare
list of lines, instead of a single string without newlines.

This helps identifying which lines in the diff printed on the console
don't match the expected result.

So, getXML now returns a list of lines,

To allow passing the same list of lines to the complementary parseXML
function in the roundtrip tests, parseXML now also accepts a list of
strings, as well as a single string.

We also use unicode_literals, and ensure that if the test modules passes
unicode str, we first encode to UTF-8 before passing on to expat XML
parser. This is because on Python 2, expat only accepts bytes strings.
2016-12-21 13:57:33 +00:00
Denis Moyogo Jacquerye
d2f5c63fef STAT: test_compile_* tests (#783) 2016-12-21 10:53:32 +01:00
Denis Moyogo Jacquerye
71df2fe7d5 Add MVAR tests (#781)
* MVAR: add decompile_toXML test

* MVAR: add test_compile_fromXML

* M_V_A_R_test.py: if __name__ == '__main__'
2016-12-21 08:33:55 +01:00
Cosimo Lupo
be6afae761
builder_test: add test for omitted class definitions 2016-12-20 13:27:03 +00:00
Cosimo Lupo
f147398554
ast: write commas for empty glyph classes in GlyphClassDef statement 2016-12-20 13:26:48 +00:00
Cosimo Lupo
60e9fed16d
[minor] whitespace 2016-12-20 12:51:33 +00:00
Cosimo Lupo
934cbd72be
builder_test: open with UTF-8 encoding to fix failing Appveyor tests
https://ci.appveyor.com/project/fonttools/fonttools/build/1.0.259/job/yi83cj0hhid3asb8
2016-12-20 12:47:31 +00:00
Martin Hosken
3c2cc8e6aa
fea2fea passes all tests 2016-12-20 11:58:37 +00:00
Martin Hosken
e41bf35f06
Fix nameid type tests 2016-12-20 11:55:52 +00:00
Cosimo Lupo
b97e420895
minor style/whitespace fixes to appease flake8 linter 2016-12-20 11:03:10 +00:00
Sascha Brawer
0d14cfbc83 [feaLib] Fix minor typo in unittest comment 2016-12-20 11:14:39 +01:00
mhosken
7a0c5e1ca2 Add fea generation support (#776)
* First round of adding fea output

No format tests but all test files give reasonable output so far.

* Get existing tests working

* Initial tests that work for fea2fea

* Get more tests working

Bug fixes and re-layout some tests to compare with fea2fea output.
Ranges and name parameters are not optimised yet.

* Handle vertical default values in fea2fea

* Hide fea2fea differences in lookupflags

* No reduce() in py3 so use a for loop
2016-12-20 11:10:29 +01:00
Behdad Esfahbod
d9e915c925 Fix compile of MVAR and STAT tables 2016-12-19 18:21:11 -06:00
Sascha Brawer
3b6648e725 [agl] Add link to GitHub issue for details about TODO comment
https://github.com/fonttools/fonttools/issues/775
2016-12-19 15:42:39 +01:00
Sascha Brawer
428636cfaf Map AGL glyph names to Unicode (#774)
Implements the mapping algorithm from the [Adobe Glyph List specification](
https://github.com/adobe-type-tools/agl-specification#2-the-mapping).

Currently, the implementation only recognizes glyph names from the
Adobe Glyph List for New Fonts (AGLFN), not the legacy AGL which is a
superset. If there is interest, it would be easy to support the legacy AGL
as well, preferrably in a follow-up change.

https://github.com/googlei18n/glyphsLib/issues/88#issuecomment-267408215
2016-12-19 15:34:44 +01:00
Behdad Esfahbod
b4d53811e9 Implement MVAR table 2016-12-18 21:55:45 -06:00
Cosimo Lupo
323877f7df
Bump version: 3.3.1 → 3.3.2.dev0 2016-12-15 11:12:14 +00:00
Cosimo Lupo
95f76885e7
Release 3.3.1 2016-12-15 11:12:13 +00:00
Cosimo Lupo
685c5a1140
Bump version: 3.3.0 → 3.3.1.dev0 2016-12-14 22:38:54 +00:00
Cosimo Lupo
4f6147460d
remove versioneer (see discussion at #767) 2016-12-14 12:14:43 +00:00
Cosimo Lupo
1a9389653c
py23: minor typo in docstring 2016-12-14 10:03:49 +00:00