Parcourir la source

add test for scientific float

Tao Wen il y a 8 ans
Parent
commit
d75b539bad
1 fichiers modifiés avec 13 ajouts et 0 suppressions
  1. 13 0
      jsoniter_float_test.go

+ 13 - 0
jsoniter_float_test.go

@@ -158,6 +158,19 @@ func Test_read_float64_cursor(t *testing.T) {
 	should.Equal(float64(2), iter.Read())
 }
 
+func Test_read_float_scientific(t *testing.T) {
+	should := require.New(t)
+	var obj interface{}
+	should.Nil(UnmarshalFromString(`1e1`, &obj))
+	should.Equal(float64(10), obj)
+	should.Nil(json.Unmarshal([]byte(`1e1`), &obj))
+	should.Equal(float64(10), obj)
+	should.Nil(UnmarshalFromString(`1.0e1`, &obj))
+	should.Equal(float64(10), obj)
+	should.Nil(json.Unmarshal([]byte(`1.0e1`), &obj))
+	should.Equal(float64(10), obj)
+}
+
 func Benchmark_jsoniter_float(b *testing.B) {
 	b.ReportAllocs()
 	input := []byte(`1.1123,`)