wui_button_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package wui_button
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. owner *d0.LOwner
  9. chCall chan d0.Txt
  10. }
  11. func TestWuiButton(t *testing.T) {
  12. sf := &tester{
  13. t: t,
  14. owner: d0.LetOwner(1, "test_owner"),
  15. chCall: make(chan d0.Txt, 2),
  16. }
  17. sf.new()
  18. }
  19. // Создание кнопки.
  20. func (sf *tester) new() {
  21. sf.t.Log("new")
  22. btn := NewWuiButton(sf.owner, d0.LetTxt(sf.owner, "test_val"), sf.fnBack)
  23. if btn == nil {
  24. sf.t.Fatalf("new(): WuiButton==nil")
  25. }
  26. if txt := btn.Text(); txt == nil {
  27. sf.t.Fatalf("new(): IWuiText==nil")
  28. }
  29. if html := btn.Html(); html.Get() == "" {
  30. sf.t.Fatalf("new(): html is empty")
  31. }
  32. if hx := btn.Hx(); hx == nil {
  33. sf.t.Fatalf("new(): IWuiHx==nil")
  34. }
  35. btn.Click(map[d0.Txt]d0.Txt{}).Hassert("new()")
  36. if str := <-sf.chCall; str != "test" {
  37. sf.t.Fatalf("new(): bad called")
  38. }
  39. }
  40. // Функция обратного вызова.
  41. func (sf *tester) fnBack(dict map[d0.Txt]d0.Txt) *d0.Result[*d0.LTxt] {
  42. sf.chCall <- "test"
  43. return d0.ResOk(d0.LetTxt(sf.owner, "test_click"))
  44. }