[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))
|
||||
|
||||
|
||||
def charstr_stack_use(charstr, getNumRegions=None):
|
||||
program = stringToProgram(charstr)
|
||||
|
||||
def program_stack_use(program, getNumRegions=None):
|
||||
vsindex = None
|
||||
maxStack = 0
|
||||
stack = []
|
||||
@ -588,17 +586,17 @@ class CFFSpecializeProgramTest:
|
||||
numRegions = 15
|
||||
numOps = 600
|
||||
getNumRegions = lambda iv: numRegions
|
||||
blend_one = " ".join([str(i) for i in range(1 + numRegions)] + ["1", "blend"])
|
||||
operands = " ".join([blend_one] * 6)
|
||||
blend_one = [i for i in range(1 + numRegions)] + [1, "blend"]
|
||||
operands = blend_one * 6
|
||||
operator = "rrcurveto"
|
||||
charstr = " ".join([operands, operator] * numOps)
|
||||
specialized = charstr_specialize(
|
||||
charstr,
|
||||
program = (operands + [operator]) * numOps
|
||||
specialized = specializeProgram(
|
||||
program,
|
||||
getNumRegions=getNumRegions,
|
||||
maxstack=maxStack,
|
||||
generalizeFirst=False,
|
||||
)
|
||||
stack_use = charstr_stack_use(specialized, getNumRegions=getNumRegions)
|
||||
stack_use = program_stack_use(specialized, getNumRegions=getNumRegions)
|
||||
assert maxStack - numRegions < stack_use < maxStack
|
||||
|
||||
def test_maxstack_commands(self):
|
||||
@ -606,17 +604,17 @@ class CFFSpecializeProgramTest:
|
||||
numRegions = 400
|
||||
numOps = 2
|
||||
getNumRegions = lambda iv: numRegions
|
||||
blend_one = " ".join([str(i) for i in range(1 + numRegions)] + ["1", "blend"])
|
||||
operands = " ".join([blend_one] * 6)
|
||||
blend_one = [i for i in range(1 + numRegions)] + [1, "blend"]
|
||||
operands = blend_one * 6
|
||||
operator = "rrcurveto"
|
||||
charstr = " ".join([operands, operator] * numOps)
|
||||
specialized = charstr_specialize(
|
||||
charstr,
|
||||
program = (operands + [operator]) * numOps
|
||||
specialized = specializeProgram(
|
||||
program,
|
||||
getNumRegions=getNumRegions,
|
||||
maxstack=maxStack,
|
||||
generalizeFirst=False,
|
||||
)
|
||||
assert specialized.index("rrcurveto") == len(specialized) - len("rrcurveto")
|
||||
assert specialized.index("rrcurveto") == len(specialized) - 1
|
||||
|
||||
|
||||
class CFF2VFTestSpecialize(DataFilesHandler):
|
||||
|
Loading…
x
Reference in New Issue
Block a user