package glist import ( "fmt" "sync" "testing" ) func TestGList(t *testing.T) { var ti int var m sync.Mutex g := GList{ti, m, 4342, nil, []Entry{{"foo", true}}} data, err := g.GenSendListReq() if err != nil { t.Fatal(err) } expected := `{"chat_id":4342,"text":"List:","reply_markup":{"inline_keyboard":[[{"text":"✓ foo","callback_data":"foo"}],[{"text":"clear checked","callback_data":"clear"}]]}}` if expected != string(data) { t.Fatalf("expected: %s\n got:%s\n", expected, string(data)) } } func TestSplit(t *testing.T) { g := GList{} reqs = make(chan *GList, 50) g.Add("foo") g.Add("bar\nfoo\nblah") g.Add("foo") g.Add("lskfj") expected := `{0 {0 0} 0 [{foo false} {bar false} {blah false} {lskfj false}]}` actual := fmt.Sprintf("%v", g) if expected != actual { t.Fatalf("expected: %s\n got:%s\n", expected, actual) } }