yuin / goldmark

:trophy: A markdown parser written in Go. Easy to extend, standard(CommonMark) compliant, well structured.
MIT License
3.68k stars 255 forks source link

testutil: Export ParseTestCaseFile #336

Closed abhinav closed 1 year ago

abhinav commented 1 year ago

This PR extracts functionality from DoTestCaseFile responsible for parsing test case files into a ParseTestCases function.

The function is able to read from any io.Reader, instead of being limited to just files. A ParseTestCaseFile function is included for convenience.

The functions do not panic on errors--instead, they return the error.

While there, this updates DoTestCaseFile so that it also does not panic on error, and instead aborts the entire test instead.

Minor note about tests: The tests for the parser use reflect.DeepEqual and %#v. It would make for better error messages to use go-cmp but I elected to not use that because so far, goldmark has no third-party dependencies. If you're open to the new dependency (only for test util), I can make a separate PR for that in the future.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.