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 56 57 58 59 60 61
|
package ui
import (
"io/ioutil"
"log"
"testing"
"github.com/twstrike/gotk3adapter/glib_mock"
"github.com/twstrike/coyim/i18n"
. "gopkg.in/check.v1"
)
var escapingTests = []string{
"",
"foo",
"foo\\",
"foo\\x01",
"العربية",
}
func Test(t *testing.T) { TestingT(t) }
func init() {
log.SetOutput(ioutil.Discard)
i18n.InitLocalization(&glib_mock.Mock{})
}
type UISuite struct{}
var _ = Suite(&UISuite{})
func (s *UISuite) TestEscaping(t *C) {
for _, test := range escapingTests {
escaped := EscapeNonASCII(test)
unescaped, err := UnescapeNonASCII(escaped)
if err != nil {
t.Errorf("Error unescaping '%s' (from '%s')", escaped, test)
continue
}
if unescaped != test {
t.Errorf("Unescaping didn't return the original value: '%s' -> '%s' -> '%s'", test, escaped, unescaped)
}
}
}
func (s *UISuite) TestHTMLStripping(t *C) {
raw := []byte("<hr>This is some <font color='green'>html</font><br />.")
exp := []byte("This is some html.")
res := StripHTML(raw)
t.Check(res, DeepEquals, exp)
}
func (s *UISuite) Test_StripSomeHTML(t *C) {
raw := []byte("<p>This is <walloftext>some</walloftext> <FONT color='green'>html</font><br />.")
exp := "This is <walloftext>some</walloftext> html."
res := StripSomeHTML(raw)
t.Check(string(res), DeepEquals, exp)
}
|