1
0
Files
org2newsboat/main_test.go

58 lines
1.6 KiB
Go

package main
import (
"fmt"
"testing"
)
func LexerTestWrapper(message string, expected string) string {
lexer := Lexer{}
return Parse(lexer.Process(message)).String()
}
func LexerTestWrapperFail(expected string, result string) {
fmt.Println("Expected :", expected)
fmt.Println("Got : ", result)
}
func TestLinkNoTag(t *testing.T) {
var message string = "** https://pleroma.social/announcements/feed.xml"
var expected string = "https://pleroma.social/announcements/feed.xml"
result := LexerTestWrapper(message, expected)
if result != expected {
LexerTestWrapperFail(expected, result)
t.Fail()
}
}
func TestLinkTag(t *testing.T) {
var message string = "** https://pleroma.social/announcements/feed.xml :software:"
var expected string = "https://pleroma.social/announcements/feed.xml software"
result := LexerTestWrapper(message, expected)
if result != expected {
LexerTestWrapperFail(expected, result)
t.Fail()
}
}
func TestLinkDescTag(t *testing.T) {
var message string = "** [[https://pleroma.social/announcements/feed.xml][Pleroma Social]] :software:"
var expected string = "https://pleroma.social/announcements/feed.xml # Pleroma Social"
var result string = LexerTestWrapper(message, expected)
if result != expected {
LexerTestWrapperFail(expected, result)
t.Fail()
}
}
func TestLinkDescNoTag(t *testing.T) {
var message string = "** [[https://pleroma.social/announcements/feed.xml][Pleroma Social]]"
var expected string = "https://pleroma.social/announcements/feed.xml # Pleroma Social"
var result string = LexerTestWrapper(message, expected)
if result != expected {
LexerTestWrapperFail(expected, result)
t.Fail()
}
}