| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package main
- import (
- "bytes"
- "os"
- "strings"
- "testing"
- )
- const (
- inputFile = "./testdata/test1.md"
- outputFile = "test1.md.html"
- goldenFile = "./testdata/test1.md.html"
- )
- func TestParseContent(t *testing.T) {
- input, err := os.ReadFile(inputFile)
- if err != nil {
- t.Fatalf("could not read file: %v", err)
- }
- result, err := parseContent(input, "")
- if err != nil {
- t.Fatal(err)
- }
- expected, err := os.ReadFile(goldenFile)
- if err != nil {
- t.Fatalf("could not read file: %v", err)
- }
- if !bytes.Equal(expected, result) {
- t.Logf("golden:\n%s\n", expected)
- t.Logf("result:\n%s\n", result)
- t.Error("Result content does not match golden file")
- }
- }
- func TestRun(t *testing.T) {
- var mockStdOut bytes.Buffer
- if err := run(inputFile, "", &mockStdOut, true); err != nil {
- t.Fatal(err)
- }
- resultFile := strings.TrimSpace(mockStdOut.String())
- result, err := os.ReadFile(resultFile)
- if err != nil {
- t.Fatal(err)
- }
- expected, err := os.ReadFile(goldenFile)
- if err != nil {
- t.Fatal(err)
- }
- if !bytes.Equal(expected, result) {
- t.Logf("golden:\n%s\n", expected)
- t.Logf("result:\n%s\n", result)
- t.Error("Result content does not match golden file")
- }
- os.Remove(resultFile)
- }
|