|
|
@@ -1,6 +1,7 @@
|
|
|
package safe_bool_react
|
|
|
|
|
|
import (
|
|
|
+ "os"
|
|
|
"testing"
|
|
|
|
|
|
. "gitp78su.ipnodns.ru/svi/kern/v2/krn/ktypes"
|
|
|
@@ -21,6 +22,83 @@ func TestSafeBoolReact(t *testing.T) {
|
|
|
sf.set()
|
|
|
sf.reset()
|
|
|
sf.del()
|
|
|
+ sf.newFromEnv()
|
|
|
+ sf.newFromStr()
|
|
|
+}
|
|
|
+
|
|
|
+// Булево из строки
|
|
|
+func (sf *tester) newFromStr() {
|
|
|
+ sf.t.Log("newFromStr")
|
|
|
+ sf.newFromStrBad1()
|
|
|
+ sf.newFromStrGood1()
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester) newFromStrGood1() {
|
|
|
+ sf.t.Log("newFromStrGood1")
|
|
|
+ res := NewSafeBoolReactFromStr("tRuE")
|
|
|
+ if res.IsErr() {
|
|
|
+ sf.t.Fatalf("newFromStrGood1(): err=%v", res.Err())
|
|
|
+ }
|
|
|
+ sb := res.Val()
|
|
|
+ if val := sb.Get(); val != true {
|
|
|
+ sf.t.Fatalf("newFromStrGood1(): val==false")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Кривое булево значение
|
|
|
+func (sf *tester) newFromStrBad1() {
|
|
|
+ sf.t.Log("newFromStrBad1")
|
|
|
+ res := NewSafeBoolReactFromStr("0")
|
|
|
+ if res.IsOk() {
|
|
|
+ sf.t.Fatalf("newFromStrBad1(): err==nil")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Булево из окружения
|
|
|
+func (sf *tester) newFromEnv() {
|
|
|
+ sf.t.Log("newFromEnv")
|
|
|
+ sf.newFromEnvBad1()
|
|
|
+ sf.newFromEnvGood1()
|
|
|
+ sf.newFromEnvGood2()
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester) newFromEnvGood2() {
|
|
|
+ sf.t.Log("newFromEnvGood2")
|
|
|
+ os.Unsetenv("TEST_BOOL")
|
|
|
+ os.Setenv("TEST_BOOL", "false")
|
|
|
+ res := NewSafeBoolGetenv("TEST_BOOL")
|
|
|
+ if res.IsErr() {
|
|
|
+ sf.t.Fatalf("newFromEnvGood2(): err=%v", res.Err())
|
|
|
+ }
|
|
|
+ sb := res.Val()
|
|
|
+ if val := sb.Get(); val != false {
|
|
|
+ sf.t.Fatalf("newFromEnvGood2(): val==true")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *tester) newFromEnvGood1() {
|
|
|
+ sf.t.Log("newFromEnvGood1")
|
|
|
+ os.Unsetenv("TEST_BOOL")
|
|
|
+ os.Setenv("TEST_BOOL", "true")
|
|
|
+ res := NewSafeBoolGetenv("TEST_BOOL")
|
|
|
+ if res.IsErr() {
|
|
|
+ sf.t.Fatalf("newFromEnvGood1(): err=%v", res.Err())
|
|
|
+ }
|
|
|
+ sb := res.Val()
|
|
|
+ if val := sb.Get(); val != true {
|
|
|
+ sf.t.Fatalf("newFromEnvGood1(): val==false")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Кривое булево значение
|
|
|
+func (sf *tester) newFromEnvBad1() {
|
|
|
+ sf.t.Log("newFromStrBad1")
|
|
|
+ os.Unsetenv("TEST_BOOL")
|
|
|
+ os.Setenv("TEST_BOOL", "bad")
|
|
|
+ res := NewSafeBoolGetenv("TEST_BOOL")
|
|
|
+ if res.IsOk() {
|
|
|
+ sf.t.Fatalf("newFromStrBad1(): err==nil")
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// Удаляет функцию обратного вызова
|