[specializer_test] Simplify tests
No need to go to string and back...
This commit is contained in:
parent
6f37252e85
commit
4e2968462a
@ -23,9 +23,7 @@ def charstr_specialize(charstr, **kwargs):
|
|||||||
return programToString(specializeProgram(stringToProgram(charstr), **kwargs))
|
return programToString(specializeProgram(stringToProgram(charstr), **kwargs))
|
||||||
|
|
||||||
|
|
||||||
def charstr_stack_use(charstr, getNumRegions=None):
|
def program_stack_use(program, getNumRegions=None):
|
||||||
program = stringToProgram(charstr)
|
|
||||||
|
|
||||||
vsindex = None
|
vsindex = None
|
||||||
maxStack = 0
|
maxStack = 0
|
||||||
stack = []
|
stack = []
|
||||||
@ -588,17 +586,17 @@ class CFFSpecializeProgramTest:
|
|||||||
numRegions = 15
|
numRegions = 15
|
||||||
numOps = 600
|
numOps = 600
|
||||||
getNumRegions = lambda iv: numRegions
|
getNumRegions = lambda iv: numRegions
|
||||||
blend_one = " ".join([str(i) for i in range(1 + numRegions)] + ["1", "blend"])
|
blend_one = [i for i in range(1 + numRegions)] + [1, "blend"]
|
||||||
operands = " ".join([blend_one] * 6)
|
operands = blend_one * 6
|
||||||
operator = "rrcurveto"
|
operator = "rrcurveto"
|
||||||
charstr = " ".join([operands, operator] * numOps)
|
program = (operands + [operator]) * numOps
|
||||||
specialized = charstr_specialize(
|
specialized = specializeProgram(
|
||||||
charstr,
|
program,
|
||||||
getNumRegions=getNumRegions,
|
getNumRegions=getNumRegions,
|
||||||
maxstack=maxStack,
|
maxstack=maxStack,
|
||||||
generalizeFirst=False,
|
generalizeFirst=False,
|
||||||
)
|
)
|
||||||
stack_use = charstr_stack_use(specialized, getNumRegions=getNumRegions)
|
stack_use = program_stack_use(specialized, getNumRegions=getNumRegions)
|
||||||
assert maxStack - numRegions < stack_use < maxStack
|
assert maxStack - numRegions < stack_use < maxStack
|
||||||
|
|
||||||
def test_maxstack_commands(self):
|
def test_maxstack_commands(self):
|
||||||
@ -606,17 +604,17 @@ class CFFSpecializeProgramTest:
|
|||||||
numRegions = 400
|
numRegions = 400
|
||||||
numOps = 2
|
numOps = 2
|
||||||
getNumRegions = lambda iv: numRegions
|
getNumRegions = lambda iv: numRegions
|
||||||
blend_one = " ".join([str(i) for i in range(1 + numRegions)] + ["1", "blend"])
|
blend_one = [i for i in range(1 + numRegions)] + [1, "blend"]
|
||||||
operands = " ".join([blend_one] * 6)
|
operands = blend_one * 6
|
||||||
operator = "rrcurveto"
|
operator = "rrcurveto"
|
||||||
charstr = " ".join([operands, operator] * numOps)
|
program = (operands + [operator]) * numOps
|
||||||
specialized = charstr_specialize(
|
specialized = specializeProgram(
|
||||||
charstr,
|
program,
|
||||||
getNumRegions=getNumRegions,
|
getNumRegions=getNumRegions,
|
||||||
maxstack=maxStack,
|
maxstack=maxStack,
|
||||||
generalizeFirst=False,
|
generalizeFirst=False,
|
||||||
)
|
)
|
||||||
assert specialized.index("rrcurveto") == len(specialized) - len("rrcurveto")
|
assert specialized.index("rrcurveto") == len(specialized) - 1
|
||||||
|
|
||||||
|
|
||||||
class CFF2VFTestSpecialize(DataFilesHandler):
|
class CFF2VFTestSpecialize(DataFilesHandler):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user