mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-30 22:39:58 +02:00
@@ -16,6 +16,7 @@ package helpers
|
||||
import (
|
||||
"bytes"
|
||||
"github.com/spf13/viper"
|
||||
"regexp"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@@ -50,9 +51,11 @@ func TestCodeFence(t *testing.T) {
|
||||
enabled bool
|
||||
input, expected string
|
||||
}
|
||||
|
||||
// Pygments 2.0 and 2.1 have slightly different outputs so only do partial matching
|
||||
data := []test{
|
||||
{true, "<html></html>", "<div class=\"highlight\"><pre><code class=\"language-html\" data-lang=\"html\"><span class=\"nt\"><html></html></span>\n</code></pre></div>\n"},
|
||||
{false, "<html></html>", "<pre><code class=\"language-html\"><html></html></code></pre>\n"},
|
||||
{true, "<html></html>", `(?s)^<div class="highlight"><pre><code class="language-html" data-lang="html">.*?</code></pre></div>\n$`},
|
||||
{false, "<html></html>", `(?s)^<pre><code class="language-html">.*?</code></pre>\n$`},
|
||||
}
|
||||
|
||||
viper.Reset()
|
||||
@@ -65,12 +68,21 @@ func TestCodeFence(t *testing.T) {
|
||||
viper.Set("PygmentsCodeFences", d.enabled)
|
||||
|
||||
result := render(d.input)
|
||||
if result != d.expected {
|
||||
|
||||
expectedRe, err := regexp.Compile(d.expected)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("Invalid regexp", err)
|
||||
}
|
||||
matched := expectedRe.MatchString(result)
|
||||
|
||||
if !matched {
|
||||
t.Errorf("Test %d failed. BlackFriday enabled:%t, Expected:\n%q got:\n%q", i, d.enabled, d.expected, result)
|
||||
}
|
||||
|
||||
result = renderWithMmark(d.input)
|
||||
if result != d.expected {
|
||||
matched = expectedRe.MatchString(result)
|
||||
if !matched {
|
||||
t.Errorf("Test %d failed. Mmark enabled:%t, Expected:\n%q got:\n%q", i, d.enabled, d.expected, result)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user