aboutsummaryrefslogtreecommitdiff
path: root/internal/markdown/markdown_test.go
blob: 5b69ead9b06ba8a687cb6756f87c5b07477d6118 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package markdown

import (
	"bytes"
	"context"
	"io"
	"io/fs"
	"testing"

	"xeiaso.net/v4"
)

func TestMarkdownRendering(t *testing.T) {
	if err := fs.WalkDir(xeiaso.Markdown, ".", func(path string, d fs.DirEntry, err error) error {
		if err != nil {
			t.Fatal(err)
		}

		if d.IsDir() {
			return nil
		}

		t.Run(path, func(t *testing.T) {
			t.Parallel()

			fin, err := xeiaso.Markdown.Open(path)
			if err != nil {
				t.Fatal(err)
			}
			defer fin.Close()

			if _, err := Render(context.Background(), path, fin, "info"); err != nil {
				t.Fatal(err)
			}
		})

		return nil
	}); err != nil {
		t.Fatal(err)
	}
}

func BenchmarkMarkdownParsing(b *testing.B) {
	fin, err := xeiaso.Markdown.Open("blog/video-compression.markdown")
	if err != nil {
		b.Fatal(err)
	}

	data, err := io.ReadAll(fin)

	for i := 0; i < b.N; i++ {
		defer fin.Close()
		if _, err := Render(context.Background(), "blog/video-compression.markdown", bytes.NewBuffer(data), "DEBUG"); err != nil {
			b.Error(err)
		}
	}
}