wui_hx_test.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package wui_hx
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. hx *WuiHx
  9. owner *d0.LOwner
  10. }
  11. func TestWhx(t *testing.T) {
  12. sf := &tester{
  13. t: t,
  14. owner: d0.LetOwner(1, "test_owner"),
  15. }
  16. sf.new()
  17. sf.str()
  18. }
  19. // Получает строку атрибутов.
  20. func (sf *tester) str() {
  21. sf.t.Log("str")
  22. sf.hx.Url().Method().Set(d0.LetTxt(sf.owner, "hx-put"))
  23. sf.hx.Trigger().Trigger().Set("load")
  24. sf.hx.Target().Set("#main")
  25. sf.hx.Swap().Swap().Set("before")
  26. sf.hx.Oob().Set("true")
  27. sf.hx.Vals().Set("test", 3)
  28. str := sf.hx.String()
  29. _str := `hx-put="/wui/click/123"
  30. hx-trigger="load"
  31. hx-target="#main"
  32. hx-swap="before"
  33. hx-swap-oob="true"
  34. hx-vals='{"test":3}'`
  35. if str != _str {
  36. sf.t.Fatalf("str(): \n\t%v\n\t%v", str, _str)
  37. }
  38. }
  39. // Создаёт новые тэги HTMX.
  40. func (sf *tester) new() {
  41. sf.t.Log("new")
  42. hx := NewWuiHx(sf.owner, d0.LetTxt(sf.owner, "/wui/click/123"))
  43. if hx == nil {
  44. sf.t.Fatalf("new(): IWuiHx==nil")
  45. }
  46. if vals := hx.Vals(); vals == nil {
  47. sf.t.Fatalf("new(): vals==nil")
  48. }
  49. if url := hx.Url(); url == nil {
  50. sf.t.Fatalf("new(): url==nil")
  51. }
  52. if trig := hx.Trigger(); trig == nil {
  53. sf.t.Fatalf("trig(): trig==nil")
  54. }
  55. if targ := hx.Target(); targ == nil {
  56. sf.t.Fatalf("trig(): targ==nil")
  57. }
  58. if targ := hx.Target(); targ == nil {
  59. sf.t.Fatalf("trig(): targ==nil")
  60. }
  61. if oob := hx.Oob(); oob == nil {
  62. sf.t.Fatalf("trig(): oob==nil")
  63. }
  64. if swap := hx.Swap(); swap == nil {
  65. sf.t.Fatalf("trig(): swap==nil")
  66. }
  67. sf.hx = hx
  68. }