wui_hx_test.go 1.4 KB

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