52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
|
// SPDX-FileCopyrightText: 2021 Luke Granger-Brown <depot@lukegb.com>
|
||
|
//
|
||
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
||
|
package minicheddar_test
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"os/exec"
|
||
|
"testing"
|
||
|
|
||
|
"hg.lukegb.com/lukegb/depot/web/fup/minicheddar"
|
||
|
)
|
||
|
|
||
|
func TestSpawn(t *testing.T) {
|
||
|
ctx, cancel := context.WithCancel(context.Background())
|
||
|
t.Cleanup(cancel)
|
||
|
|
||
|
cpath, err := exec.LookPath("cheddar")
|
||
|
if err != nil {
|
||
|
t.Skip("couldn't find cheddar")
|
||
|
}
|
||
|
|
||
|
cheddar, err := minicheddar.Spawn(ctx, cpath)
|
||
|
if err != nil {
|
||
|
t.Fatalf("minicheddar.Spawn: %v", err)
|
||
|
}
|
||
|
defer cheddar.Close()
|
||
|
|
||
|
t.Run("Code", func(t *testing.T) {
|
||
|
html, err := cheddar.Code(ctx, "index.html", "Some Theme", "<!DOCTYPE html>\n<html>\n")
|
||
|
if err != nil {
|
||
|
t.Fatalf("minicheddar.Code: %v", err)
|
||
|
}
|
||
|
|
||
|
if html.String() == "" {
|
||
|
t.Fatalf("minicheddar.Code = %q; want non-empty string", html.String())
|
||
|
}
|
||
|
})
|
||
|
|
||
|
t.Run("Markdown", func(t *testing.T) {
|
||
|
html, err := cheddar.Markdown(ctx, "* Bulleted\n* Lists\n")
|
||
|
if err != nil {
|
||
|
t.Fatalf("minicheddar.Markdown: %v", err)
|
||
|
}
|
||
|
|
||
|
if html.String() == "" {
|
||
|
t.Fatalf("minicheddar.Markdown = %q; want non-empty string", html.String())
|
||
|
}
|
||
|
})
|
||
|
}
|