From 61f0922ceb366d06c160529b8b378661d568488b Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Wed, 3 Dec 2025 17:49:18 -0800 Subject: Fix a few bugs in parsing numbers --- ccl_test.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'ccl_test.go') diff --git a/ccl_test.go b/ccl_test.go index ac64d58..7ec9da2 100644 --- a/ccl_test.go +++ b/ccl_test.go @@ -411,10 +411,6 @@ func TestUnmarshal_Invalid(t *testing.T) { desc: "BadNum", msg: `int: .`, want: &syntaxError{line: 1, col: 6}, - }, { - desc: "WeirdNum", - msg: `float:1e+`, - want: &syntaxError{line: 1, col: 7}, }, { desc: "BadHex", msg: `int:0xgg`, @@ -539,6 +535,10 @@ func TestUnmarshal_Invalid(t *testing.T) { desc: "FloatMissingExponent", msg: `float:1e`, want: &syntaxError{line: 1, col: 7}, + }, { + desc: "FloatPositiveMissingExponent", + msg: `float:1e+`, + want: &syntaxError{line: 1, col: 7}, }, { desc: "UnterminatedComment", msg: `/*`, @@ -551,6 +551,18 @@ func TestUnmarshal_Invalid(t *testing.T) { int:12345; # oops typo `, want: &syntaxError{line: 4, col: 10}, + }, { + desc: "OutOfRange", + msg: `int:20000000000000000000`, + want: &syntaxError{line: 1, col: 5}, + }, { + desc: "FloatRange", + msg: `float:1e309`, + want: &syntaxError{line: 1, col: 7}, + }, { + desc: "IntLetter", + msg: `int: 1A`, + want: &syntaxError{line: 1, col: 6}, }} { t.Run(tc.desc, func(t *testing.T) { t.Parallel() @@ -926,6 +938,9 @@ from string'`, `nested_repeated: [[1]]`, `float:1e`, `/*`, + `bytes:100000000000000000000`, + `float:1e700`, + `float:1A000`, } { f.Add([]byte(tc)) } -- cgit v1.3.1