def_txt_mut_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package def_txt
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
  5. )
  6. type tester1 struct {
  7. t *testing.T
  8. owner *owner.LOwner
  9. mTxt *MTxt
  10. }
  11. func TestTxtMut(t *testing.T) {
  12. sf := &tester1{
  13. t: t,
  14. owner: owner.LetOwner(1, "test_mut_txt"),
  15. }
  16. sf.mut()
  17. sf.add()
  18. sf.trim()
  19. sf.atoi()
  20. }
  21. // Получение числа
  22. func (sf *tester1) atoi() {
  23. sf.t.Log("atoi")
  24. { // Правильное число
  25. sf.mTxt.Set(" 123 ")
  26. res := sf.mTxt.Atoi()
  27. if res.IsErr() {
  28. sf.t.Fatalf("atoi(): err=%v", res.Err())
  29. }
  30. }
  31. { // Неправильное число
  32. sf.mTxt.Set("123a")
  33. res := sf.mTxt.Atoi()
  34. if res.IsOk() {
  35. sf.t.Fatalf("atoi(): err==nil")
  36. }
  37. }
  38. }
  39. // Обрезка суффикса
  40. func (sf *tester1) trim() {
  41. sf.t.Log("trim")
  42. sf.mTxt.Add(" ")
  43. res := sf.mTxt.TrimSuffix("1:1 ")
  44. if res != "test_mut_txt" {
  45. sf.t.Fatalf("trim(): txt(%v)!=val(test_mut_txt)", res)
  46. }
  47. txt := sf.mTxt.Let()
  48. if txt.Get() != "test_mut_txt" {
  49. sf.t.Fatalf("trim(): txt(%v)!=val(test_mut_txt)", txt.Get())
  50. }
  51. }
  52. // Добавление текста
  53. func (sf *tester1) add() {
  54. sf.t.Log("add")
  55. sf.mTxt.Add("1:%v", "1")
  56. txt := sf.mTxt.Let()
  57. if txt.Get() != "test_mut_txt1:1" {
  58. sf.t.Fatalf("add(): txt(%v)!=val(test_mut_txt1:1)", txt.Get())
  59. }
  60. }
  61. // Создание изменяемого текста
  62. func (sf *tester1) mut() {
  63. sf.t.Log("mut")
  64. sf.mutBad1()
  65. sf.mutGood1()
  66. }
  67. func (sf *tester1) mutGood1() {
  68. sf.t.Log("mutGood1")
  69. sf.mTxt = MutTxt(sf.owner, "test_mut_txt")
  70. txt := sf.mTxt.Let()
  71. if txt.Get() != "test_mut_txt" {
  72. sf.t.Fatalf("mutGood1(): txt(%v)!=val(test_mut_txt)", txt.Get())
  73. }
  74. }
  75. // Нет владельца
  76. func (sf *tester1) mutBad1() {
  77. sf.t.Log("mutBad1")
  78. defer func() {
  79. if _panic := recover(); _panic == nil {
  80. sf.t.Fatal("mutBad1(): panic==nil")
  81. }
  82. }()
  83. _ = MutTxt(nil, "test_mut_txt")
  84. }