"vscode:/vscode.git/clone" did not exist on "41938239868034df5d258c05926ce09ac4319c0f"
Commit 277132a2 authored by Jesse Beder's avatar Jesse Beder
Browse files

Refactored emitter test template code

parent 5af3fc04
...@@ -46,14 +46,30 @@ def scalar(value, tag='', anchor='', anchor_id=0): ...@@ -46,14 +46,30 @@ def scalar(value, tag='', anchor='', anchor_id=0):
emit += ['"%s"' % encode(value)] emit += ['"%s"' % encode(value)]
return {'emit': emit, 'handle': 'SCALAR("%s", %s, "%s")' % (out_tag, anchor_id, encode(value))} return {'emit': emit, 'handle': 'SCALAR("%s", %s, "%s")' % (out_tag, anchor_id, encode(value))}
def gen_outlines(): def comment(value):
yield [doc_start(), scalar('foo\n'), doc_end()] return {'emit': 'YAML::Comment("%s")' % value, 'handle': ''}
yield [doc_start(True), scalar('foo\n'), doc_end()]
yield [doc_start(), scalar('foo\n'), doc_end(True)] def gen_templates():
yield [doc_start(True), scalar('foo\n'), doc_end(True)] yield [[doc_start(), doc_start(True)], [scalar('foo\n')], [doc_end(), doc_end(True)]]
def expand(template):
if len(template) == 0:
pass
elif len(template) == 1:
for item in template[0]:
if isinstance(item, list):
yield item
else:
yield [item]
else:
for car in expand(template[:1]):
for cdr in expand(template[1:]):
yield car + cdr
def gen_events(): def gen_events():
for events in gen_outlines(): for template in gen_templates():
for events in expand(template):
yield events yield events
def gen_tests(): def gen_tests():
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment