16 Commits

Author SHA1 Message Date
Miguel Sousa
432d9b4034 [misc.testTools] boilerplate unittest classes 2018-02-23 03:02:06 -08:00
Miguel Sousa
603e942f4c [misc.testTools] tabs to spaces 2018-02-23 03:02:06 -08:00
Miguel Sousa
dd5b52404c [misc.testTools] minor 2018-02-23 03:02:06 -08:00
Sascha Brawer
57f01b27cb [morx] Preliminary code for writing AATLookups
Needs more work.
2017-08-14 21:34:15 +02:00
Sascha Brawer
e8530360bd [name] Add helper for building multi-lingual names
Fixes https://github.com/fonttools/fonttools/issues/921.
2017-04-19 02:26:32 +08:00
Sascha Brawer
155ec67ae6 [cvar] Implement cvar table 2017-01-10 17:57:04 +01: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
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
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
Sascha Brawer
59368c424a WIP: Implement STAT table 2016-12-02 13:37:42 -08:00
Cosimo Lupo
2552d224a3 [testTools] use 'newlinestr' for makeXMLWriter() helper function 2016-10-20 16:57:49 +01:00
Sascha Brawer
0588502771 Add otConverters.NameID (#708)
When writing XML, this produces a comment with the English name.
If the name ID is missing from the name table, it logs a warning.
2016-10-14 21:04:35 +02:00
Sascha Brawer
0f8882bcc3 [otlLib] Move creation of ValueRecords from feaLib to otlLib 2016-01-14 16:27:04 +01:00
Sascha Brawer
582852119c Implement OTTableReader.readUShortArray()
There is currently only one single call site in the codebase,
but this function will be needed a lot for parsing `morx` and
other AAT tables.
2015-10-17 06:47:52 +02:00
Cosimo Lupo
cb36478d4b [testTools] add getXML function to get the XMLWriter content as string 2015-09-30 20:19:35 +01:00
Sascha Brawer
d63885e337 [otTables] Use XML snippets for testing fromXML() methods
This should make the unit tests more readable, and it also prevents
failures where a changed fromXML() implementation fails to ignore
interspersed whitespace. This has recently caused some developer
nuisance; see https://github.com/behdad/fonttools/pull/367.

Instead of having a custom parser implementation, it would be nicer
to call the actual XMLReader. However, XMLReader has a deeply built-in
assumption that it is processing an entire TTX file. Changing this
assumption would certainly be possible, but it would need a re-write
of the XMLReader code; having a custom parser just for unit tests
seems less involved.
2015-09-11 15:44:29 +02:00