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
|
package parser
import (
"bytes"
"testing"
"github.com/gomarkdown/markdown/ast"
)
func TestBug195(t *testing.T) {
input := "| a | b |\n| - | - |\n|`foo|bar` | types |\n"
p := NewWithExtensions(CommonExtensions)
doc := p.Parse([]byte(input))
var buf bytes.Buffer
ast.Print(&buf, doc)
got := buf.String()
// TODO: change expectations for https://github.com/gomarkdown/markdown/issues/195
exp := "Table\n TableHeader\n TableRow\n TableCell\n Text 'a'\n TableCell\n Text 'b'\n TableBody\n TableRow\n TableCell\n Text\n Code 'foo|bar'\n TableCell\n Text 'types'\n"
if got != exp {
t.Errorf("\nInput [%#v]\nExpected[%#v]\nGot [%#v]\n",
input, exp, got)
}
}
func TestBug198(t *testing.T) {
// there's a space after end of table header, which used to break table parsing
input := `| a | b|
| :--- | ---: |
| c | d |`
p := NewWithExtensions(CommonExtensions)
doc := p.Parse([]byte(input))
var buf bytes.Buffer
ast.Print(&buf, doc)
got := buf.String()
exp := "Table\n TableHeader\n TableRow\n TableCell\n Text 'a'\n TableCell\n Text 'b'\n TableBody\n TableRow\n TableCell\n Text 'c'\n TableCell\n Text 'd'\n"
if got != exp {
t.Errorf("\nInput [%#v]\nExpected[%#v]\nGot [%#v]\n",
input, exp, got)
}
}
// https://github.com/gomarkdown/markdown/issues/274
func TestIssue274(t *testing.T) {
input := "| a | b |\n| - | - |\n| foo | bar |\n"
p := NewWithExtensions(CommonExtensions)
doc := p.Parse([]byte(input))
var buf bytes.Buffer
ast.Print(&buf, doc)
got := buf.String()
exp := "Table\n TableHeader\n TableRow\n TableCell\n Text 'a'\n TableCell\n Text 'b'\n TableBody\n TableRow\n TableCell\n Text '\\tfoo'\n TableCell\n Text 'bar'\n"
if got != exp {
t.Errorf("\nInput [%#v]\nExpected[%#v]\nGot [%#v]\n",
input, exp, got)
}
}
|