Merge pull request #305 from anthrotype/fix_program_len
add doctests for __bool__ method in ttProgram.Program and _f_p_g_m
This commit is contained in:
commit
16edc99440
@ -23,6 +23,29 @@ class table__f_p_g_m(DefaultTable.DefaultTable):
|
||||
self.program = program
|
||||
|
||||
def __bool__(self):
|
||||
"""
|
||||
>>> fpgm = table__f_p_g_m()
|
||||
>>> bool(fpgm)
|
||||
False
|
||||
>>> p = ttProgram.Program()
|
||||
>>> fpgm.program = p
|
||||
>>> bool(fpgm)
|
||||
False
|
||||
>>> bc = bytearray([0])
|
||||
>>> p.fromBytecode(bc)
|
||||
>>> bool(fpgm)
|
||||
True
|
||||
>>> p.bytecode.pop()
|
||||
0
|
||||
>>> bool(fpgm)
|
||||
False
|
||||
"""
|
||||
return hasattr(self, 'program') and bool(self.program)
|
||||
|
||||
__nonzero__ = __bool__
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
import doctest
|
||||
sys.exit(doctest.testmod().failed)
|
||||
|
@ -449,6 +449,29 @@ class Program(object):
|
||||
self.assembly = assembly
|
||||
|
||||
def __bool__(self):
|
||||
"""
|
||||
>>> p = Program()
|
||||
>>> bool(p)
|
||||
False
|
||||
>>> bc = array.array("B", [0])
|
||||
>>> p.fromBytecode(bc)
|
||||
>>> bool(p)
|
||||
True
|
||||
>>> p.bytecode.pop()
|
||||
0
|
||||
>>> bool(p)
|
||||
False
|
||||
|
||||
>>> p = Program()
|
||||
>>> asm = ['SVTCA[0]']
|
||||
>>> p.fromAssembly(asm)
|
||||
>>> bool(p)
|
||||
True
|
||||
>>> p.assembly.pop()
|
||||
'SVTCA[0]'
|
||||
>>> bool(p)
|
||||
False
|
||||
"""
|
||||
return ((hasattr(self, 'assembly') and len(self.assembly) > 0) or
|
||||
(hasattr(self, 'bytecode') and len(self.bytecode) > 0))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user