77 lines
1.3 KiB
Go
77 lines
1.3 KiB
Go
package ircfmt
|
|
|
|
import "testing"
|
|
|
|
type testcase struct {
|
|
escaped string
|
|
unescaped string
|
|
}
|
|
|
|
var tests = []testcase{
|
|
{"te$bst", "te\x02st"},
|
|
{"te$c[green]st", "te\x033st"},
|
|
{"te$c[red,green]st", "te\x034,3st"},
|
|
{"te$c[green]4st", "te\x03034st"},
|
|
{"te$c[red,green]9st", "te\x034,039st"},
|
|
}
|
|
|
|
var escapetests = []testcase{
|
|
{"te$c[]st", "te\x03st"},
|
|
{"test$c[]", "test\x03"},
|
|
}
|
|
|
|
var unescapetests = []testcase{
|
|
{"te$st", "test"},
|
|
{"test$c", "test\x03"},
|
|
}
|
|
|
|
func TestEscape(t *testing.T) {
|
|
for _, pair := range tests {
|
|
val := Escape(pair.unescaped)
|
|
|
|
if val != pair.escaped {
|
|
t.Error(
|
|
"For", pair.unescaped,
|
|
"expected", pair.escaped,
|
|
"got", val,
|
|
)
|
|
}
|
|
}
|
|
for _, pair := range escapetests {
|
|
val := Escape(pair.unescaped)
|
|
|
|
if val != pair.escaped {
|
|
t.Error(
|
|
"For", pair.unescaped,
|
|
"expected", pair.escaped,
|
|
"got", val,
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestUnescape(t *testing.T) {
|
|
for _, pair := range tests {
|
|
val := Unescape(pair.escaped)
|
|
|
|
if val != pair.unescaped {
|
|
t.Error(
|
|
"For", pair.escaped,
|
|
"expected", pair.unescaped,
|
|
"got", val,
|
|
)
|
|
}
|
|
}
|
|
for _, pair := range unescapetests {
|
|
val := Unescape(pair.escaped)
|
|
|
|
if val != pair.unescaped {
|
|
t.Error(
|
|
"For", pair.escaped,
|
|
"expected", pair.unescaped,
|
|
"got", val,
|
|
)
|
|
}
|
|
}
|
|
}
|