[otBase] Unbreak tests
Don't cache getDataLength() result. Cache in a new __len__ instead.
diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py
index c05ec5e..edef765 100644
--- a/Lib/fontTools/ttLib/tables/otBase.py
+++ b/Lib/fontTools/ttLib/tables/otBase.py
@@ -241,8 +241,6 @@
def getDataLength(self):
"""Return the length of this table in bytes, without subtables."""
- if hasattr(self, '_length'):
- return self._length
l = 0
for item in self.items:
if hasattr(item, "getCountData"):
@@ -251,9 +249,13 @@
l += 4 if item.longOffset else 2
else:
l = l + len(item)
- self._length = l
return l
+ def __len__(self):
+ if not hasattr(self, '_length'):
+ self._length = self.getDataLength()
+ return self._length
+
def getData(self):
"""Assemble the data for this writer/table, without subtables."""
items = list(self.items) # make a shallow copy