summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoozbeh Pournader <roozbeh@google.com>2015-01-07 19:00:54 -0800
committerJames Godfrey-Kittle <jamesgk@google.com>2015-04-16 12:16:24 -0700
commita86c86786a6980296408bf22a625747ba9607c7d (patch)
tree7bd53b9ce34510e639561cced8b7e6a47a7a946b
parent403041dcfae9f364038c3dcc034238d2ea1ddafc (diff)
Add tests for version and revision numbers.
Also add a touchup to fix the revision number.
-rw-r--r--scripts/roboto_data.py13
-rwxr-xr-xscripts/run_android_tests.py13
-rw-r--r--scripts/temporary_touchups.py13
3 files changed, 31 insertions, 8 deletions
diff --git a/scripts/roboto_data.py b/scripts/roboto_data.py
index ef2a773..96a1060 100644
--- a/scripts/roboto_data.py
+++ b/scripts/roboto_data.py
@@ -1,8 +1,11 @@
#!/usr/bin/python
"""Post-build changes for Roboto for Android."""
+import os
+from os import path
import re
+
WEIGHTS = {
'Thin': 250,
'Light': 300,
@@ -25,3 +28,13 @@ def extract_weight_name(font_name):
return 'Regular'
else:
return match.group(1)
+
+
+def get_build_number():
+ """Returns the build number as a five-digit string."""
+ build_number_txt = path.join(
+ path.dirname(__file__), os.pardir, 'res', 'buildnumber.txt')
+ build_number = open(build_number_txt).read().strip()
+ assert re.match('[0-9]{5}', build_number)
+ return build_number
+
diff --git a/scripts/run_android_tests.py b/scripts/run_android_tests.py
index bb2bc44..15a4b36 100755
--- a/scripts/run_android_tests.py
+++ b/scripts/run_android_tests.py
@@ -34,6 +34,19 @@ class TestMetaInfo(unittest.TestCase):
font['OS/2'].usWeightClass,
expected_numeric_weight)
+ def test_version_numbers(self):
+ "Tests the two version numbers of the font to be correct."""
+ for font in self.fonts:
+ build_number = roboto_data.get_build_number()
+ expected_version = '2.' + build_number
+ version = font_data.font_version(font)
+ usable_part_of_version = version.split(';')[0]
+ self.assertEqual(usable_part_of_version,
+ 'Version ' + expected_version)
+
+ revision = font_data.printable_font_revision(font, accuracy=5)
+ self.assertEqual(revision, expected_version)
+
class TestVerticalMetrics(unittest.TestCase):
"""Test the vertical metrics of fonts."""
diff --git a/scripts/temporary_touchups.py b/scripts/temporary_touchups.py
index 20e407f..7971e23 100644
--- a/scripts/temporary_touchups.py
+++ b/scripts/temporary_touchups.py
@@ -2,9 +2,6 @@
"""Temporary post-build changes for Roboto."""
from datetime import date
-import os
-from os import path
-
from nototools import font_data
import roboto_data
@@ -17,10 +14,10 @@ def apply_temporary_fixes(font):
weight_number = roboto_data.WEIGHTS[weight]
font['OS/2'].usWeightClass = weight_number
- # Update version number from buildnumber.txt
- build_number_txt = path.join(
- path.dirname(__file__), os.pardir, 'res', 'buildnumber.txt')
- build_number = open(build_number_txt).read().strip()
- version_record = 'Version 2.%s; %d' % (build_number, date.today().year)
+ # Update version and revision numbers from buildnumber.txt
+ build_number = roboto_data.get_build_number()
+ version_number = '2.' + build_number
+ version_record = 'Version %s; %d' % (version_number, date.today().year)
font_data.set_name_record(font, 5, version_record)
+ font['head'].fontRevision = float(version_number)