diff options
Diffstat (limited to 'utils/markdown/inspect_test.go')
-rw-r--r-- | utils/markdown/inspect_test.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/utils/markdown/inspect_test.go b/utils/markdown/inspect_test.go new file mode 100644 index 000000000..0c5032f2d --- /dev/null +++ b/utils/markdown/inspect_test.go @@ -0,0 +1,54 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package markdown + +import ( + "fmt" + "strings" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestInspect(t *testing.T) { + markdown := ` +[foo]: bar +- a + > [![]()]() + > [![foo]][foo] +- d +` + + visited := []string{} + level := 0 + Inspect(markdown, func(blockOrInline interface{}) bool { + if blockOrInline == nil { + level-- + } else { + visited = append(visited, strings.Repeat(" ", level*4)+strings.TrimPrefix(fmt.Sprintf("%T", blockOrInline), "*markdown.")) + level++ + } + return true + }) + + assert.Equal(t, []string{ + "Document", + " Paragraph", + " List", + " ListItem", + " Paragraph", + " Text", + " BlockQuote", + " Paragraph", + " InlineLink", + " InlineImage", + " SoftLineBreak", + " ReferenceLink", + " ReferenceImage", + " Text", + " ListItem", + " Paragraph", + " Text", + }, visited) +} |