Split man.test to make tests pass without oniguruma (#2722)

This commit is contained in:
itchyny authored and GitHub committed 2023-07-18 08:17:21 +09:00
1 parent 4b3090a9ab
commit 9e4c71558a
11 files changed
+91 -71

No files matched your search

+14 -6
View File
@@ -1,13 +1,21 @@
#!/usr/bin/env python3
import yaml
import re
with open("content/manual/manual.yml") as f:
manual = yaml.safe_load(f)
regex_program_pattern = re.compile(
r'\b(?:test|match|capture|scan|split|splits|sub|gsub)\s*\(')
with open('content/manual/manual.yml') as source, \
open('../tests/man.test', 'w') as man, \
open('../tests/manonig.test', 'w') as manonig:
manual = yaml.safe_load(source)
for section in manual.get('sections', []):
for entry in section.get('entries', []):
for example in entry.get('examples', []):
print(example.get('program', '').replace('\n', ' '))
print(example.get('input', ''))
program = example.get('program', '').replace('\n', ' ')
out = manonig if regex_program_pattern.search(program) else man
print(program, file=out)
print(example.get('input', ''), file=out)
for s in example.get('output', []):
print(s)
print('')
print(s, file=out)
print('', file=out)