src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/eval/vars/ptr_test.go (about) 1 package vars 2 3 import "testing" 4 5 func TestFromPtr(t *testing.T) { 6 i := 10 7 variable := FromPtr(&i) 8 if g := variable.Get(); g != 10 { 9 t.Errorf(`Get -> %v, want 10`, g) 10 } 11 err := variable.Set("20") 12 if err != nil { 13 t.Errorf(`Setting ptrVariable with "20" returns error %v`, err) 14 } 15 if i != 20 { 16 t.Errorf(`Setting ptrVariable didn't change underlying value`) 17 } 18 err = variable.Set("x") 19 if err == nil { 20 t.Errorf("Setting ptrVariable with incompatible value returns no error") 21 } 22 } 23 24 func TestFromInit(t *testing.T) { 25 v := FromInit(true) 26 if val := v.Get(); val != true { 27 t.Errorf("Get returned %v, want true", val) 28 } 29 if err := v.Set("233"); err != nil { 30 t.Errorf("Set errors: %v", err) 31 } 32 if val := v.Get(); val != "233" { 33 t.Errorf(`Get returns %v, want "233"`, val) 34 } 35 }