Skip to content

Commit

Permalink
Merge c837e7b into 102c61d
Browse files Browse the repository at this point in the history
  • Loading branch information
Cosimo Lupo committed Jun 10, 2016
2 parents 102c61d + c837e7b commit 3887f31
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
35 changes: 35 additions & 0 deletions normalization/test_ufonormalizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -1489,6 +1489,41 @@ def test_main_outputPath_duplicateUFO(self):
main(["-o", outdir, indir])
self.assertTrue(os.path.exists(os.path.join(outdir, "metainfo.plist")))

def test_main_float_precision_argument(self):
metainfo = METAINFO_PLIST % 3
libdata = """<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>test_float</key>
<real>0.3333333333333334</real>
</dict>
</plist>
"""
with TemporaryDirectory(suffix=".ufo") as indir:
outdir = os.path.join(indir, 'output.ufo')

subpathWriteFile(metainfo, indir, "metainfo.plist")
subpathWriteFile(libdata, indir, "lib.plist")

# without --float-precision, it uses 10 decimal digits by default
main(["-o", outdir, indir])
data = subpathReadPlist(outdir, "lib.plist")
self.assertEqual(data["test_float"], 0.3333333333)

main(["-o", outdir, "--float-precision=0", indir])
data = subpathReadPlist(outdir, "lib.plist")
self.assertEqual(data["test_float"], 0)

main(["-o", outdir, "--float-precision=6", indir])
data = subpathReadPlist(outdir, "lib.plist")
self.assertEqual(data["test_float"], 0.333333)

# -1 means no rounding, use repr()
main(["-o", outdir, "--float-precision=-1", indir])
data = subpathReadPlist(outdir, "lib.plist")
self.assertEqual(data["test_float"], 0.3333333333333334)


class XMLWriterTest(unittest.TestCase):
def __init__(self, methodName):
Expand Down
3 changes: 2 additions & 1 deletion normalization/ufonormalizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ def main(args=None):
message += " Processing all files."
log.info(message, os.path.basename(inputPath))
start = time.time()
normalizeUFO(inputPath, outputPath=outputPath, onlyModified=onlyModified)
normalizeUFO(inputPath, outputPath=outputPath, onlyModified=onlyModified,
floatPrecision=floatPrecision)
runtime = time.time() - start
log.info("Normalization complete (%.4f seconds).", runtime)

Expand Down

0 comments on commit 3887f31

Please sign in to comment.