package def_txt import ( "testing" "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner" ) type tester1 struct { t *testing.T owner *owner.LOwner mTxt *MTxt } func TestTxtMut(t *testing.T) { sf := &tester1{ t: t, owner: owner.LetOwner(1, "test_mut_txt"), } sf.mut() sf.add() sf.trim() sf.atoi() } // Получение числа func (sf *tester1) atoi() { sf.t.Log("atoi") { // Правильное число sf.mTxt.Set(" 123 ") res := sf.mTxt.Atoi() if res.IsErr() { sf.t.Fatalf("atoi(): err=%v", res.Err()) } } { // Неправильное число sf.mTxt.Set("123a") res := sf.mTxt.Atoi() if res.IsOk() { sf.t.Fatalf("atoi(): err==nil") } } } // Обрезка суффикса func (sf *tester1) trim() { sf.t.Log("trim") sf.mTxt.Add(" ") res := sf.mTxt.TrimSuffix("1:1 ") if res != "test_mut_txt" { sf.t.Fatalf("trim(): txt(%v)!=val(test_mut_txt)", res) } txt := sf.mTxt.Let() if txt.Get() != "test_mut_txt" { sf.t.Fatalf("trim(): txt(%v)!=val(test_mut_txt)", txt.Get()) } } // Добавление текста func (sf *tester1) add() { sf.t.Log("add") sf.mTxt.Add("1:%v", "1") txt := sf.mTxt.Let() if txt.Get() != "test_mut_txt1:1" { sf.t.Fatalf("add(): txt(%v)!=val(test_mut_txt1:1)", txt.Get()) } } // Создание изменяемого текста func (sf *tester1) mut() { sf.t.Log("mut") sf.mutBad1() sf.mutGood1() } func (sf *tester1) mutGood1() { sf.t.Log("mutGood1") sf.mTxt = MutTxt(sf.owner, "test_mut_txt") txt := sf.mTxt.Let() if txt.Get() != "test_mut_txt" { sf.t.Fatalf("mutGood1(): txt(%v)!=val(test_mut_txt)", txt.Get()) } } // Нет владельца func (sf *tester1) mutBad1() { sf.t.Log("mutBad1") defer func() { if _panic := recover(); _panic == nil { sf.t.Fatal("mutBad1(): panic==nil") } }() _ = MutTxt(nil, "test_mut_txt") }