Ver código fonte

fix bool test

Xargin 8 anos atrás
pai
commit
919a2eff5c
3 arquivos alterados com 5 adições e 6 exclusões
  1. 1 3
      feature_any_object.go
  2. 1 1
      feature_any_string.go
  3. 3 2
      jsoniter_any_string_test.go

+ 1 - 3
feature_any_object.go

@@ -25,9 +25,7 @@ func (any *objectLazyAny) LastError() error {
 }
 
 func (any *objectLazyAny) ToBool() bool {
-	iter := any.cfg.BorrowIterator(any.buf)
-	defer any.cfg.ReturnIterator(iter)
-	return iter.ReadObject() != ""
+	return true
 }
 
 func (any *objectLazyAny) ToInt() int {

+ 1 - 1
feature_any_string.go

@@ -35,7 +35,7 @@ func (any *stringAny) LastError() error {
 
 func (any *stringAny) ToBool() bool {
 	str := any.ToString()
-	if str == "false" {
+	if str == "0" {
 		return false
 	}
 	for _, c := range str {

+ 3 - 2
jsoniter_any_string_test.go

@@ -1,8 +1,9 @@
 package jsoniter
 
 import (
-	"github.com/json-iterator/go/require"
 	"testing"
+
+	"github.com/json-iterator/go/require"
 )
 
 func Test_read_string_as_any(t *testing.T) {
@@ -13,7 +14,7 @@ func Test_read_string_as_any(t *testing.T) {
 	any = Get([]byte(`" "`))
 	should.False(any.ToBool())
 	any = Get([]byte(`"false"`))
-	should.False(any.ToBool())
+	should.True(any.ToBool())
 	any = Get([]byte(`"123"`))
 	should.Equal(123, any.ToInt())
 }