mock_env_test.go 949 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package mock_env
  2. import (
  3. "testing"
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  5. )
  6. type tester struct {
  7. t *testing.T
  8. me *MockEnv
  9. }
  10. func TestMockEnv(t *testing.T) {
  11. sf := &tester{
  12. t: t,
  13. }
  14. sf.make()
  15. sf.reset()
  16. }
  17. // Сброс переменной окружения.
  18. func (sf *tester) reset() {
  19. sf.t.Log("reset")
  20. sf.resetBad1()
  21. pwd := sf.me.Pwd()
  22. if pwd.Get() == "" {
  23. sf.t.Fatalf("reset(): pwd i empty")
  24. }
  25. }
  26. // Нет переменой окружения.
  27. func (sf *tester) resetBad1() {
  28. sf.t.Log("resetBad1")
  29. defer func() {
  30. if pan := recover(); pan == nil {
  31. sf.t.Fatalf("resetBad1(): panic=%v", pan)
  32. }
  33. }()
  34. sf.me.Reset(defs.Txt(""))
  35. }
  36. // Создание мок-окружения.
  37. func (sf *tester) make() {
  38. sf.t.Log("make")
  39. defer func() {
  40. if pan := recover(); pan != nil {
  41. sf.t.Fatalf("make(): panic=%v", pan)
  42. }
  43. }()
  44. env := MakeEnv()
  45. if env == nil {
  46. sf.t.Fatalf("make(): env==nil")
  47. }
  48. sf.me = env
  49. }