diff --git a/reflect_test.go b/reflect_test.go index 0d286ce..258d361 100644 --- a/reflect_test.go +++ b/reflect_test.go @@ -228,7 +228,7 @@ func Test_reflectStruct(t *testing.T) { test(` ret = abc.FuncReturn2(); - if (ret && ret.length && ret.length == 2 && ret[0] == "def" && ret[1] === undefined) { + if (ret && ret.length && ret.length == 2 && ret[0] == "def" && ret[1] === null) { true; } else { false; diff --git a/value.go b/value.go index 90c1406..1ce4b84 100644 --- a/value.go +++ b/value.go @@ -325,8 +325,7 @@ func toValue(value interface{}) Value { case _result: return Value{valueResult, value} case nil: - // TODO Ugh. - return Value{} + return nullValue case reflect.Value: for value.Kind() == reflect.Ptr { // We were given a pointer, so we'll drill down until we get a non-pointer diff --git a/value_test.go b/value_test.go index f0c6ef0..c4a2893 100644 --- a/value_test.go +++ b/value_test.go @@ -39,7 +39,8 @@ func TestToValue(t *testing.T) { vm := tester.vm value, _ := vm.ToValue(nil) - is(value, "undefined") + is(value, "null") + is(value, nullValue) value, _ = vm.ToValue((*byte)(nil)) is(value, "undefined")