html_test.go 773 B

1234567891011121314151617181920212223242526272829
  1. package md_test
  2. import (
  3. "html"
  4. "testing"
  5. "github.com/google/go-cmp/cmp"
  6. . "src.elv.sh/pkg/md"
  7. "src.elv.sh/pkg/testutil"
  8. )
  9. func TestHTML(t *testing.T) {
  10. testutil.Set(t, &UnescapeHTML, html.UnescapeString)
  11. for _, tc := range htmlTestCases {
  12. t.Run(tc.testName(), func(t *testing.T) {
  13. tc.skipIfNotSupported(t)
  14. got := RenderString(tc.Markdown, &HTMLCodec{})
  15. // Try to hide the difference between tight and loose lists by
  16. // "loosifying" the output. This only works for tight lists whose
  17. // items consist of single lines, so more complex cases are still
  18. // skipped.
  19. want := loosifyLists(tc.HTML)
  20. if diff := cmp.Diff(want, got); diff != "" {
  21. t.Errorf("input:\n%s\ndiff (-want +got):\n%s",
  22. hr+"\n"+tc.Markdown+hr, diff)
  23. }
  24. })
  25. }
  26. }