From 8747da76a4158851e2ff1b15b868df2b2a616dbd Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Sun, 11 Sep 2016 16:48:40 +0100 Subject: [PATCH] filenames.py: fix doctests for py2.py3; import unicode_literals --- Lib/ufoLib/filenames.py | 119 +++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 56 deletions(-) diff --git a/Lib/ufoLib/filenames.py b/Lib/ufoLib/filenames.py index 9eb17d340..876f6b389 100644 --- a/Lib/ufoLib/filenames.py +++ b/Lib/ufoLib/filenames.py @@ -2,6 +2,7 @@ User name to file name conversion. This was taken form the UFO 3 spec. """ +from __future__ import unicode_literals from fontTools.misc.py23 import basestring, unicode @@ -22,50 +23,50 @@ def userNameToFileName(userName, existing=[], prefix="", suffix=""): existing should be a case-insensitive list of all existing file names. - >>> userNameToFileName(u"a") - u'a' - >>> userNameToFileName(u"A") - u'A_' - >>> userNameToFileName(u"AE") - u'A_E_' - >>> userNameToFileName(u"Ae") - u'A_e' - >>> userNameToFileName(u"ae") - u'ae' - >>> userNameToFileName(u"aE") - u'aE_' - >>> userNameToFileName(u"a.alt") - u'a.alt' - >>> userNameToFileName(u"A.alt") - u'A_.alt' - >>> userNameToFileName(u"A.Alt") - u'A_.A_lt' - >>> userNameToFileName(u"A.aLt") - u'A_.aL_t' - >>> userNameToFileName(u"A.alT") - u'A_.alT_' - >>> userNameToFileName(u"T_H") - u'T__H_' - >>> userNameToFileName(u"T_h") - u'T__h' - >>> userNameToFileName(u"t_h") - u't_h' - >>> userNameToFileName(u"F_F_I") - u'F__F__I_' - >>> userNameToFileName(u"f_f_i") - u'f_f_i' - >>> userNameToFileName(u"Aacute_V.swash") - u'A_acute_V_.swash' - >>> userNameToFileName(u".notdef") - u'_notdef' - >>> userNameToFileName(u"con") - u'_con' - >>> userNameToFileName(u"CON") - u'C_O_N_' - >>> userNameToFileName(u"con.alt") - u'_con.alt' - >>> userNameToFileName(u"alt.con") - u'alt._con' + >>> userNameToFileName("a") == "a" + True + >>> userNameToFileName("A") == "A_" + True + >>> userNameToFileName("AE") == "A_E_" + True + >>> userNameToFileName("Ae") == "A_e" + True + >>> userNameToFileName("ae") == "ae" + True + >>> userNameToFileName("aE") == "aE_" + True + >>> userNameToFileName("a.alt") == "a.alt" + True + >>> userNameToFileName("A.alt") == "A_.alt" + True + >>> userNameToFileName("A.Alt") == "A_.A_lt" + True + >>> userNameToFileName("A.aLt") == "A_.aL_t" + True + >>> userNameToFileName(u"A.alT") == "A_.alT_" + True + >>> userNameToFileName("T_H") == "T__H_" + True + >>> userNameToFileName("T_h") == "T__h" + True + >>> userNameToFileName("t_h") == "t_h" + True + >>> userNameToFileName("F_F_I") == "F__F__I_" + True + >>> userNameToFileName("f_f_i") == "f_f_i" + True + >>> userNameToFileName("Aacute_V.swash") == "A_acute_V_.swash" + True + >>> userNameToFileName(".notdef") == "_notdef" + True + >>> userNameToFileName("con") == "_con" + True + >>> userNameToFileName("CON") == "C_O_N_" + True + >>> userNameToFileName("con.alt") == "_con.alt" + True + >>> userNameToFileName("alt.con") == "alt._con" + True """ # the incoming name must be a unicode string if not isinstance(userName, unicode): @@ -116,20 +117,23 @@ def handleClash1(userName, existing=[], prefix="", suffix=""): >>> e = list(existing) >>> handleClash1(userName="A" * 5, existing=e, - ... prefix=prefix, suffix=suffix) - '00000.AAAAA000000000000001.0000000000' + ... prefix=prefix, suffix=suffix) == ( + ... '00000.AAAAA000000000000001.0000000000') + True >>> e = list(existing) >>> e.append(prefix + "aaaaa" + "1".zfill(15) + suffix) >>> handleClash1(userName="A" * 5, existing=e, - ... prefix=prefix, suffix=suffix) - '00000.AAAAA000000000000002.0000000000' + ... prefix=prefix, suffix=suffix) == ( + ... '00000.AAAAA000000000000002.0000000000') + True >>> e = list(existing) >>> e.append(prefix + "AAAAA" + "2".zfill(15) + suffix) >>> handleClash1(userName="A" * 5, existing=e, - ... prefix=prefix, suffix=suffix) - '00000.AAAAA000000000000001.0000000000' + ... prefix=prefix, suffix=suffix) == ( + ... '00000.AAAAA000000000000001.0000000000') + True """ # if the prefix length + user name length + suffix length + 15 is at # or past the maximum length, silce 15 characters off of the user name @@ -168,18 +172,21 @@ def handleClash2(existing=[], prefix="", suffix=""): >>> existing = [prefix + str(i) + suffix for i in range(100)] >>> e = list(existing) - >>> handleClash2(existing=e, prefix=prefix, suffix=suffix) - '00000.100.0000000000' + >>> handleClash2(existing=e, prefix=prefix, suffix=suffix) == ( + ... '00000.100.0000000000') + True >>> e = list(existing) >>> e.remove(prefix + "1" + suffix) - >>> handleClash2(existing=e, prefix=prefix, suffix=suffix) - '00000.1.0000000000' + >>> handleClash2(existing=e, prefix=prefix, suffix=suffix) == ( + ... '00000.1.0000000000') + True >>> e = list(existing) >>> e.remove(prefix + "2" + suffix) - >>> handleClash2(existing=e, prefix=prefix, suffix=suffix) - '00000.2.0000000000' + >>> handleClash2(existing=e, prefix=prefix, suffix=suffix) == ( + ... '00000.2.0000000000') + True """ # calculate the longest possible string maxLength = maxFileNameLength - len(prefix) - len(suffix)