Commit 95054cbe authored by Geoff Simmons's avatar Geoff Simmons

Clear up some clutter in the test vectors.

parent 9150dd55
......@@ -201,355 +201,309 @@ func BenchmarkBytesFields(b *testing.B) {
}
}
type parseInt64Exp struct {
val int64
ok bool
}
func TestParseInt64(t *testing.T) {
expMap := map[string]parseInt64Exp{
"": parseInt64Exp{val: 0, ok: false},
"0": parseInt64Exp{val: 0, ok: true},
"1": parseInt64Exp{val: 1, ok: true},
"9": parseInt64Exp{val: 9, ok: true},
"10": parseInt64Exp{val: 10, ok: true},
"101": parseInt64Exp{val: 101, ok: true},
"1009": parseInt64Exp{val: 1009, ok: true},
"foo": parseInt64Exp{val: 0, ok: false},
" foo ": parseInt64Exp{val: 0, ok: false},
"foo ": parseInt64Exp{val: 0, ok: false},
" foo": parseInt64Exp{val: 0, ok: false},
"4294967290": parseInt64Exp{val: 4294967290, ok: true},
"4294967291": parseInt64Exp{val: 4294967291, ok: true},
"4294967292": parseInt64Exp{val: 4294967292, ok: true},
"4294967293": parseInt64Exp{val: 4294967293, ok: true},
"4294967294": parseInt64Exp{val: 4294967294, ok: true},
"4294967295": parseInt64Exp{val: 4294967295, ok: true},
"4294967296": parseInt64Exp{val: 4294967296, ok: true},
"4294967297": parseInt64Exp{val: 4294967297, ok: true},
"4294967298": parseInt64Exp{val: 4294967298, ok: true},
"4294967299": parseInt64Exp{val: 4294967299, ok: true},
"+0": parseInt64Exp{val: 0, ok: true},
"+1": parseInt64Exp{val: 1, ok: true},
"+9": parseInt64Exp{val: 9, ok: true},
"+10": parseInt64Exp{val: 10, ok: true},
"+101": parseInt64Exp{val: 101, ok: true},
"+1009": parseInt64Exp{val: 1009, ok: true},
"+4294967299": parseInt64Exp{val: 4294967299, ok: true},
"-0": parseInt64Exp{val: 0, ok: true},
"-1": parseInt64Exp{val: -1, ok: true},
"-9": parseInt64Exp{val: -9, ok: true},
"-10": parseInt64Exp{val: -10, ok: true},
"-101": parseInt64Exp{val: -101, ok: true},
"-1009": parseInt64Exp{val: -1009, ok: true},
"-4294967299": parseInt64Exp{val: -4294967299, ok: true},
" +1": parseInt64Exp{val: 1, ok: true},
" -1": parseInt64Exp{val: -1, ok: true},
"00": parseInt64Exp{val: 0, ok: true},
"01": parseInt64Exp{val: 1, ok: true},
"02": parseInt64Exp{val: 2, ok: true},
"03": parseInt64Exp{val: 3, ok: true},
"04": parseInt64Exp{val: 4, ok: true},
"05": parseInt64Exp{val: 5, ok: true},
"06": parseInt64Exp{val: 6, ok: true},
"07": parseInt64Exp{val: 7, ok: true},
"08": parseInt64Exp{val: 0, ok: false},
"09": parseInt64Exp{val: 0, ok: false},
"010": parseInt64Exp{val: 8, ok: true},
"011": parseInt64Exp{val: 9, ok: true},
"012": parseInt64Exp{val: 10, ok: true},
"013": parseInt64Exp{val: 11, ok: true},
"014": parseInt64Exp{val: 12, ok: true},
"015": parseInt64Exp{val: 13, ok: true},
"016": parseInt64Exp{val: 14, ok: true},
"017": parseInt64Exp{val: 15, ok: true},
"0100": parseInt64Exp{val: 64, ok: true},
"0177": parseInt64Exp{val: 127, ok: true},
"01000": parseInt64Exp{val: 512, ok: true},
"01777": parseInt64Exp{val: 1023, ok: true},
"0187": parseInt64Exp{val: 0, ok: false},
"+00": parseInt64Exp{val: 0, ok: true},
"+01": parseInt64Exp{val: 1, ok: true},
"+02": parseInt64Exp{val: 2, ok: true},
"+03": parseInt64Exp{val: 3, ok: true},
"+04": parseInt64Exp{val: 4, ok: true},
"+05": parseInt64Exp{val: 5, ok: true},
"+06": parseInt64Exp{val: 6, ok: true},
"+07": parseInt64Exp{val: 7, ok: true},
"+08": parseInt64Exp{val: 0, ok: false},
"+09": parseInt64Exp{val: 0, ok: false},
"+010": parseInt64Exp{val: 8, ok: true},
"+011": parseInt64Exp{val: 9, ok: true},
"+012": parseInt64Exp{val: 10, ok: true},
"+013": parseInt64Exp{val: 11, ok: true},
"+014": parseInt64Exp{val: 12, ok: true},
"+015": parseInt64Exp{val: 13, ok: true},
"+016": parseInt64Exp{val: 14, ok: true},
"+017": parseInt64Exp{val: 15, ok: true},
"+0100": parseInt64Exp{val: 64, ok: true},
"+0177": parseInt64Exp{val: 127, ok: true},
"+01000": parseInt64Exp{val: 512, ok: true},
"+01777": parseInt64Exp{val: 1023, ok: true},
"-00": parseInt64Exp{val: 0, ok: true},
"-01": parseInt64Exp{val: -1, ok: true},
"-02": parseInt64Exp{val: -2, ok: true},
"-03": parseInt64Exp{val: -3, ok: true},
"-04": parseInt64Exp{val: -4, ok: true},
"-05": parseInt64Exp{val: -5, ok: true},
"-06": parseInt64Exp{val: -6, ok: true},
"-07": parseInt64Exp{val: -7, ok: true},
"-08": parseInt64Exp{val: 0, ok: false},
"-09": parseInt64Exp{val: 0, ok: false},
"-010": parseInt64Exp{val: -8, ok: true},
"-011": parseInt64Exp{val: -9, ok: true},
"-012": parseInt64Exp{val: -10, ok: true},
"-013": parseInt64Exp{val: -11, ok: true},
"-014": parseInt64Exp{val: -12, ok: true},
"-015": parseInt64Exp{val: -13, ok: true},
"-016": parseInt64Exp{val: -14, ok: true},
"-017": parseInt64Exp{val: -15, ok: true},
"-0100": parseInt64Exp{val: -64, ok: true},
"-0177": parseInt64Exp{val: -127, ok: true},
"-01000": parseInt64Exp{val: -512, ok: true},
"-01777": parseInt64Exp{val: -1023, ok: true},
" 01777 ": parseInt64Exp{val: 1023, ok: true},
" +01777 ": parseInt64Exp{val: 1023, ok: true},
" -01777 ": parseInt64Exp{val: -1023, ok: true},
"0x0": parseInt64Exp{val: 0, ok: true},
"0x1": parseInt64Exp{val: 1, ok: true},
"0x2": parseInt64Exp{val: 2, ok: true},
"0x3": parseInt64Exp{val: 3, ok: true},
"0x4": parseInt64Exp{val: 4, ok: true},
"0x5": parseInt64Exp{val: 5, ok: true},
"0x6": parseInt64Exp{val: 6, ok: true},
"0x7": parseInt64Exp{val: 7, ok: true},
"0x8": parseInt64Exp{val: 8, ok: true},
"0x9": parseInt64Exp{val: 9, ok: true},
"0xa": parseInt64Exp{val: 10, ok: true},
"0xb": parseInt64Exp{val: 11, ok: true},
"0xc": parseInt64Exp{val: 12, ok: true},
"0xd": parseInt64Exp{val: 13, ok: true},
"0xe": parseInt64Exp{val: 14, ok: true},
"0xf": parseInt64Exp{val: 15, ok: true},
"0xA": parseInt64Exp{val: 10, ok: true},
"0xB": parseInt64Exp{val: 11, ok: true},
"0xC": parseInt64Exp{val: 12, ok: true},
"0xD": parseInt64Exp{val: 13, ok: true},
"0xE": parseInt64Exp{val: 14, ok: true},
"0xF": parseInt64Exp{val: 15, ok: true},
"0xg": parseInt64Exp{val: 0, ok: false},
"0xG": parseInt64Exp{val: 0, ok: false},
"0x10": parseInt64Exp{val: 16, ok: true},
"0x11": parseInt64Exp{val: 17, ok: true},
"0x12": parseInt64Exp{val: 18, ok: true},
"0x100": parseInt64Exp{val: 256, ok: true},
"0x1fF": parseInt64Exp{val: 511, ok: true},
"0xdeadbeef": parseInt64Exp{val: 3735928559, ok: true},
"0xDeAdBeEf": parseInt64Exp{val: 3735928559, ok: true},
"0x1gF": parseInt64Exp{val: 0, ok: false},
"0x1=F": parseInt64Exp{val: 0, ok: false},
"+0x0": parseInt64Exp{val: 0, ok: true},
"+0x1": parseInt64Exp{val: 1, ok: true},
"+0x2": parseInt64Exp{val: 2, ok: true},
"+0x3": parseInt64Exp{val: 3, ok: true},
"+0x4": parseInt64Exp{val: 4, ok: true},
"+0x5": parseInt64Exp{val: 5, ok: true},
"+0x6": parseInt64Exp{val: 6, ok: true},
"+0x7": parseInt64Exp{val: 7, ok: true},
"+0x8": parseInt64Exp{val: 8, ok: true},
"+0x9": parseInt64Exp{val: 9, ok: true},
"+0xa": parseInt64Exp{val: 10, ok: true},
"+0xb": parseInt64Exp{val: 11, ok: true},
"+0xc": parseInt64Exp{val: 12, ok: true},
"+0xd": parseInt64Exp{val: 13, ok: true},
"+0xe": parseInt64Exp{val: 14, ok: true},
"+0xf": parseInt64Exp{val: 15, ok: true},
"+0xA": parseInt64Exp{val: 10, ok: true},
"+0xB": parseInt64Exp{val: 11, ok: true},
"+0xC": parseInt64Exp{val: 12, ok: true},
"+0xD": parseInt64Exp{val: 13, ok: true},
"+0xE": parseInt64Exp{val: 14, ok: true},
"+0xF": parseInt64Exp{val: 15, ok: true},
"+0x10": parseInt64Exp{val: 16, ok: true},
"+0x11": parseInt64Exp{val: 17, ok: true},
"+0x12": parseInt64Exp{val: 18, ok: true},
"+0x100": parseInt64Exp{val: 256, ok: true},
"+0x1fF": parseInt64Exp{val: 511, ok: true},
"+0xdeadbeef": parseInt64Exp{val: 3735928559, ok: true},
"+0xDeAdBeEf": parseInt64Exp{val: 3735928559, ok: true},
"-0x0": parseInt64Exp{val: 0, ok: true},
"-0x1": parseInt64Exp{val: -1, ok: true},
"-0x2": parseInt64Exp{val: -2, ok: true},
"-0x3": parseInt64Exp{val: -3, ok: true},
"-0x4": parseInt64Exp{val: -4, ok: true},
"-0x5": parseInt64Exp{val: -5, ok: true},
"-0x6": parseInt64Exp{val: -6, ok: true},
"-0x7": parseInt64Exp{val: -7, ok: true},
"-0x8": parseInt64Exp{val: -8, ok: true},
"-0x9": parseInt64Exp{val: -9, ok: true},
"-0xa": parseInt64Exp{val: -10, ok: true},
"-0xb": parseInt64Exp{val: -11, ok: true},
"-0xc": parseInt64Exp{val: -12, ok: true},
"-0xd": parseInt64Exp{val: -13, ok: true},
"-0xe": parseInt64Exp{val: -14, ok: true},
"-0xf": parseInt64Exp{val: -15, ok: true},
"-0xA": parseInt64Exp{val: -10, ok: true},
"-0xB": parseInt64Exp{val: -11, ok: true},
"-0xC": parseInt64Exp{val: -12, ok: true},
"-0xD": parseInt64Exp{val: -13, ok: true},
"-0xE": parseInt64Exp{val: -14, ok: true},
"-0xF": parseInt64Exp{val: -15, ok: true},
"-0x10": parseInt64Exp{val: -16, ok: true},
"-0x11": parseInt64Exp{val: -17, ok: true},
"-0x12": parseInt64Exp{val: -18, ok: true},
"-0x100": parseInt64Exp{val: -256, ok: true},
"-0x1fF": parseInt64Exp{val: -511, ok: true},
"-0xdeadbeef": parseInt64Exp{val: -3735928559, ok: true},
"-0xDeAdBeEf": parseInt64Exp{val: -3735928559, ok: true},
" +0x1 ": parseInt64Exp{val: 1, ok: true},
" -0x1 ": parseInt64Exp{val: -1, ok: true},
"0x1 ": parseInt64Exp{val: 1, ok: true},
" 0x1": parseInt64Exp{val: 1, ok: true},
" 1 2 ": parseInt64Exp{val: 1, ok: true},
" 1 foo ": parseInt64Exp{val: 1, ok: true},
" 1foo ": parseInt64Exp{val: 0, ok: false},
"9223372036854775800": parseInt64Exp{val: 9223372036854775800,
ok: true},
"9223372036854775801": parseInt64Exp{val: 9223372036854775801,
ok: true},
"9223372036854775802": parseInt64Exp{val: 9223372036854775802,
ok: true},
"9223372036854775803": parseInt64Exp{val: 9223372036854775803,
ok: true},
"9223372036854775804": parseInt64Exp{val: 9223372036854775804,
ok: true},
"9223372036854775805": parseInt64Exp{val: 9223372036854775805,
ok: true},
"9223372036854775806": parseInt64Exp{val: 9223372036854775806,
ok: true},
"9223372036854775807": parseInt64Exp{val: 9223372036854775807,
ok: true},
"9223372036854775808": parseInt64Exp{val: 0, ok: false},
"9223372036854775809": parseInt64Exp{val: 0, ok: false},
"9223372036854775810": parseInt64Exp{val: 0, ok: false},
"9223372036854775811": parseInt64Exp{val: 0, ok: false},
"+9223372036854775800": parseInt64Exp{val: 9223372036854775800,
ok: true},
"+9223372036854775801": parseInt64Exp{val: 9223372036854775801,
ok: true},
"+9223372036854775802": parseInt64Exp{val: 9223372036854775802,
ok: true},
"+9223372036854775803": parseInt64Exp{val: 9223372036854775803,
ok: true},
"+9223372036854775804": parseInt64Exp{val: 9223372036854775804,
ok: true},
"+9223372036854775805": parseInt64Exp{val: 9223372036854775805,
ok: true},
"+9223372036854775806": parseInt64Exp{val: 9223372036854775806,
ok: true},
"+9223372036854775807": parseInt64Exp{val: 9223372036854775807,
ok: true},
"+9223372036854775808": parseInt64Exp{val: 0, ok: false},
"+9223372036854775809": parseInt64Exp{val: 0, ok: false},
"+9223372036854775810": parseInt64Exp{val: 0, ok: false},
"+9223372036854775811": parseInt64Exp{val: 0, ok: false},
"-9223372036854775800": parseInt64Exp{val: -9223372036854775800,
ok: true},
"-9223372036854775801": parseInt64Exp{val: -9223372036854775801,
ok: true},
"-9223372036854775802": parseInt64Exp{val: -9223372036854775802,
ok: true},
"-9223372036854775803": parseInt64Exp{val: -9223372036854775803,
ok: true},
"-9223372036854775804": parseInt64Exp{val: -9223372036854775804,
ok: true},
"-9223372036854775805": parseInt64Exp{val: -9223372036854775805,
ok: true},
"-9223372036854775806": parseInt64Exp{val: -9223372036854775806,
ok: true},
"-9223372036854775807": parseInt64Exp{val: -9223372036854775807,
ok: true},
"-9223372036854775808": parseInt64Exp{val: -9223372036854775808,
ok: true},
"-9223372036854775809": parseInt64Exp{val: 0, ok: false},
"-9223372036854775810": parseInt64Exp{val: 0, ok: false},
"-9223372036854775820": parseInt64Exp{val: 0, ok: false},
"0777777777777777777770": parseInt64Exp{val: 9223372036854775800,
ok: true},
"0777777777777777777771": parseInt64Exp{val: 9223372036854775801,
ok: true},
"0777777777777777777772": parseInt64Exp{val: 9223372036854775802,
ok: true},
"0777777777777777777773": parseInt64Exp{val: 9223372036854775803,
ok: true},
"0777777777777777777774": parseInt64Exp{val: 9223372036854775804,
ok: true},
"0777777777777777777775": parseInt64Exp{val: 9223372036854775805,
ok: true},
"0777777777777777777776": parseInt64Exp{val: 9223372036854775806,
ok: true},
"0777777777777777777777": parseInt64Exp{val: 9223372036854775807,
ok: true},
"01000000000000000000000": parseInt64Exp{val: 0, ok: false},
"01000000000000000000001": parseInt64Exp{val: 0, ok: false},
"01000000000000000000002": parseInt64Exp{val: 0, ok: false},
"-0777777777777777777777": parseInt64Exp{val: -9223372036854775807,
ok: true},
"-01000000000000000000000": parseInt64Exp{val: -9223372036854775808,
ok: true},
"-01000000000000000000001": parseInt64Exp{val: 0, ok: false},
"-01000000000000000000002": parseInt64Exp{val: 0, ok: false},
"-01000000000000000000003": parseInt64Exp{val: 0, ok: false},
"0x7FFFFFFFFFFFFFF0": parseInt64Exp{val: 9223372036854775792,
ok: true},
"0x7FFFFFFFFFFFFFF1": parseInt64Exp{val: 9223372036854775793,
ok: true},
"0x7FFFFFFFFFFFFFF2": parseInt64Exp{val: 9223372036854775794,
ok: true},
"0x7FFFFFFFFFFFFFF3": parseInt64Exp{val: 9223372036854775795,
ok: true},
"0x7FFFFFFFFFFFFFF4": parseInt64Exp{val: 9223372036854775796,
ok: true},
"0x7FFFFFFFFFFFFFF5": parseInt64Exp{val: 9223372036854775797,
ok: true},
"0x7FFFFFFFFFFFFFF6": parseInt64Exp{val: 9223372036854775798,
ok: true},
"0x7FFFFFFFFFFFFFF7": parseInt64Exp{val: 9223372036854775799,
ok: true},
"0x7FFFFFFFFFFFFFF8": parseInt64Exp{val: 9223372036854775800,
ok: true},
"0x7FFFFFFFFFFFFFF9": parseInt64Exp{val: 9223372036854775801,
ok: true},
"0x7FFFFFFFFFFFFFFA": parseInt64Exp{val: 9223372036854775802,
ok: true},
"0x7FFFFFFFFFFFFFFB": parseInt64Exp{val: 9223372036854775803,
ok: true},
"0x7FFFFFFFFFFFFFFC": parseInt64Exp{val: 9223372036854775804,
ok: true},
"0x7FFFFFFFFFFFFFFD": parseInt64Exp{val: 9223372036854775805,
ok: true},
"0x7FFFFFFFFFFFFFFE": parseInt64Exp{val: 9223372036854775806,
ok: true},
"0x7FFFFFFFFFFFFFFF": parseInt64Exp{val: 9223372036854775807,
ok: true},
"0x8000000000000000": parseInt64Exp{val: 0, ok: false},
"0x8000000000000001": parseInt64Exp{val: 0, ok: false},
"0x8000000000000002": parseInt64Exp{val: 0, ok: false},
"-0x7FFFFFFFFFFFFFFE": parseInt64Exp{val: -9223372036854775806,
ok: true},
"-0x7FFFFFFFFFFFFFFF": parseInt64Exp{val: -9223372036854775807,
expMap := map[string]struct {
val int64
ok bool
}{
"": {val: 0, ok: false},
"0": {val: 0, ok: true},
"1": {val: 1, ok: true},
"9": {val: 9, ok: true},
"10": {val: 10, ok: true},
"101": {val: 101, ok: true},
"1009": {val: 1009, ok: true},
"foo": {val: 0, ok: false},
" foo ": {val: 0, ok: false},
"foo ": {val: 0, ok: false},
" foo": {val: 0, ok: false},
"4294967290": {val: 4294967290, ok: true},
"4294967291": {val: 4294967291, ok: true},
"4294967292": {val: 4294967292, ok: true},
"4294967293": {val: 4294967293, ok: true},
"4294967294": {val: 4294967294, ok: true},
"4294967295": {val: 4294967295, ok: true},
"4294967296": {val: 4294967296, ok: true},
"4294967297": {val: 4294967297, ok: true},
"4294967298": {val: 4294967298, ok: true},
"4294967299": {val: 4294967299, ok: true},
"+0": {val: 0, ok: true},
"+1": {val: 1, ok: true},
"+9": {val: 9, ok: true},
"+10": {val: 10, ok: true},
"+101": {val: 101, ok: true},
"+1009": {val: 1009, ok: true},
"+4294967299": {val: 4294967299, ok: true},
"-0": {val: 0, ok: true},
"-1": {val: -1, ok: true},
"-9": {val: -9, ok: true},
"-10": {val: -10, ok: true},
"-101": {val: -101, ok: true},
"-1009": {val: -1009, ok: true},
"-4294967299": {val: -4294967299, ok: true},
" +1": {val: 1, ok: true},
" -1": {val: -1, ok: true},
"00": {val: 0, ok: true},
"01": {val: 1, ok: true},
"02": {val: 2, ok: true},
"03": {val: 3, ok: true},
"04": {val: 4, ok: true},
"05": {val: 5, ok: true},
"06": {val: 6, ok: true},
"07": {val: 7, ok: true},
"08": {val: 0, ok: false},
"09": {val: 0, ok: false},
"010": {val: 8, ok: true},
"011": {val: 9, ok: true},
"012": {val: 10, ok: true},
"013": {val: 11, ok: true},
"014": {val: 12, ok: true},
"015": {val: 13, ok: true},
"016": {val: 14, ok: true},
"017": {val: 15, ok: true},
"0100": {val: 64, ok: true},
"0177": {val: 127, ok: true},
"01000": {val: 512, ok: true},
"01777": {val: 1023, ok: true},
"0187": {val: 0, ok: false},
"+00": {val: 0, ok: true},
"+01": {val: 1, ok: true},
"+02": {val: 2, ok: true},
"+03": {val: 3, ok: true},
"+04": {val: 4, ok: true},
"+05": {val: 5, ok: true},
"+06": {val: 6, ok: true},
"+07": {val: 7, ok: true},
"+08": {val: 0, ok: false},
"+09": {val: 0, ok: false},
"+010": {val: 8, ok: true},
"+011": {val: 9, ok: true},
"+012": {val: 10, ok: true},
"+013": {val: 11, ok: true},
"+014": {val: 12, ok: true},
"+015": {val: 13, ok: true},
"+016": {val: 14, ok: true},
"+017": {val: 15, ok: true},
"+0100": {val: 64, ok: true},
"+0177": {val: 127, ok: true},
"+01000": {val: 512, ok: true},
"+01777": {val: 1023, ok: true},
"-00": {val: 0, ok: true},
"-01": {val: -1, ok: true},
"-02": {val: -2, ok: true},
"-03": {val: -3, ok: true},
"-04": {val: -4, ok: true},
"-05": {val: -5, ok: true},
"-06": {val: -6, ok: true},
"-07": {val: -7, ok: true},
"-08": {val: 0, ok: false},
"-09": {val: 0, ok: false},
"-010": {val: -8, ok: true},
"-011": {val: -9, ok: true},
"-012": {val: -10, ok: true},
"-013": {val: -11, ok: true},
"-014": {val: -12, ok: true},
"-015": {val: -13, ok: true},
"-016": {val: -14, ok: true},
"-017": {val: -15, ok: true},
"-0100": {val: -64, ok: true},
"-0177": {val: -127, ok: true},
"-01000": {val: -512, ok: true},
"-01777": {val: -1023, ok: true},
" 01777 ": {val: 1023, ok: true},
" +01777 ": {val: 1023, ok: true},
" -01777 ": {val: -1023, ok: true},
"0x0": {val: 0, ok: true},
"0x1": {val: 1, ok: true},
"0x2": {val: 2, ok: true},
"0x3": {val: 3, ok: true},
"0x4": {val: 4, ok: true},
"0x5": {val: 5, ok: true},
"0x6": {val: 6, ok: true},
"0x7": {val: 7, ok: true},
"0x8": {val: 8, ok: true},
"0x9": {val: 9, ok: true},
"0xa": {val: 10, ok: true},
"0xb": {val: 11, ok: true},
"0xc": {val: 12, ok: true},
"0xd": {val: 13, ok: true},
"0xe": {val: 14, ok: true},
"0xf": {val: 15, ok: true},
"0xA": {val: 10, ok: true},
"0xB": {val: 11, ok: true},
"0xC": {val: 12, ok: true},
"0xD": {val: 13, ok: true},
"0xE": {val: 14, ok: true},
"0xF": {val: 15, ok: true},
"0xg": {val: 0, ok: false},
"0xG": {val: 0, ok: false},
"0x10": {val: 16, ok: true},
"0x11": {val: 17, ok: true},
"0x12": {val: 18, ok: true},
"0x100": {val: 256, ok: true},
"0x1fF": {val: 511, ok: true},
"0xdeadbeef": {val: 3735928559, ok: true},
"0xDeAdBeEf": {val: 3735928559, ok: true},
"0x1gF": {val: 0, ok: false},
"0x1=F": {val: 0, ok: false},
"+0x0": {val: 0, ok: true},
"+0x1": {val: 1, ok: true},
"+0x2": {val: 2, ok: true},
"+0x3": {val: 3, ok: true},
"+0x4": {val: 4, ok: true},
"+0x5": {val: 5, ok: true},
"+0x6": {val: 6, ok: true},
"+0x7": {val: 7, ok: true},
"+0x8": {val: 8, ok: true},
"+0x9": {val: 9, ok: true},
"+0xa": {val: 10, ok: true},
"+0xb": {val: 11, ok: true},
"+0xc": {val: 12, ok: true},
"+0xd": {val: 13, ok: true},
"+0xe": {val: 14, ok: true},
"+0xf": {val: 15, ok: true},
"+0xA": {val: 10, ok: true},
"+0xB": {val: 11, ok: true},
"+0xC": {val: 12, ok: true},
"+0xD": {val: 13, ok: true},
"+0xE": {val: 14, ok: true},
"+0xF": {val: 15, ok: true},
"+0x10": {val: 16, ok: true},
"+0x11": {val: 17, ok: true},
"+0x12": {val: 18, ok: true},
"+0x100": {val: 256, ok: true},
"+0x1fF": {val: 511, ok: true},
"+0xdeadbeef": {val: 3735928559, ok: true},
"+0xDeAdBeEf": {val: 3735928559, ok: true},
"-0x0": {val: 0, ok: true},
"-0x1": {val: -1, ok: true},
"-0x2": {val: -2, ok: true},
"-0x3": {val: -3, ok: true},
"-0x4": {val: -4, ok: true},
"-0x5": {val: -5, ok: true},
"-0x6": {val: -6, ok: true},
"-0x7": {val: -7, ok: true},
"-0x8": {val: -8, ok: true},
"-0x9": {val: -9, ok: true},
"-0xa": {val: -10, ok: true},
"-0xb": {val: -11, ok: true},
"-0xc": {val: -12, ok: true},
"-0xd": {val: -13, ok: true},
"-0xe": {val: -14, ok: true},
"-0xf": {val: -15, ok: true},
"-0xA": {val: -10, ok: true},
"-0xB": {val: -11, ok: true},
"-0xC": {val: -12, ok: true},
"-0xD": {val: -13, ok: true},
"-0xE": {val: -14, ok: true},
"-0xF": {val: -15, ok: true},
"-0x10": {val: -16, ok: true},
"-0x11": {val: -17, ok: true},
"-0x12": {val: -18, ok: true},
"-0x100": {val: -256, ok: true},
"-0x1fF": {val: -511, ok: true},
"-0xdeadbeef": {val: -3735928559, ok: true},
"-0xDeAdBeEf": {val: -3735928559, ok: true},
" +0x1 ": {val: 1, ok: true},
" -0x1 ": {val: -1, ok: true},
"0x1 ": {val: 1, ok: true},
" 0x1": {val: 1, ok: true},
" 1 2 ": {val: 1, ok: true},
" 1 foo ": {val: 1, ok: true},
" 1foo ": {val: 0, ok: false},
"9223372036854775800": {val: 9223372036854775800, ok: true},
"9223372036854775801": {val: 9223372036854775801, ok: true},
"9223372036854775802": {val: 9223372036854775802, ok: true},
"9223372036854775803": {val: 9223372036854775803, ok: true},
"9223372036854775804": {val: 9223372036854775804, ok: true},
"9223372036854775805": {val: 9223372036854775805, ok: true},
"9223372036854775806": {val: 9223372036854775806, ok: true},
"9223372036854775807": {val: 9223372036854775807, ok: true},
"9223372036854775808": {val: 0, ok: false},
"9223372036854775809": {val: 0, ok: false},
"9223372036854775810": {val: 0, ok: false},
"9223372036854775811": {val: 0, ok: false},
"+9223372036854775800": {val: 9223372036854775800, ok: true},
"+9223372036854775801": {val: 9223372036854775801, ok: true},
"+9223372036854775802": {val: 9223372036854775802, ok: true},
"+9223372036854775803": {val: 9223372036854775803, ok: true},
"+9223372036854775804": {val: 9223372036854775804, ok: true},
"+9223372036854775805": {val: 9223372036854775805, ok: true},
"+9223372036854775806": {val: 9223372036854775806, ok: true},
"+9223372036854775807": {val: 9223372036854775807, ok: true},
"+9223372036854775808": {val: 0, ok: false},
"+9223372036854775809": {val: 0, ok: false},
"+9223372036854775810": {val: 0, ok: false},
"+9223372036854775811": {val: 0, ok: false},
"-9223372036854775800": {val: -9223372036854775800, ok: true},
"-9223372036854775801": {val: -9223372036854775801, ok: true},
"-9223372036854775802": {val: -9223372036854775802, ok: true},
"-9223372036854775803": {val: -9223372036854775803, ok: true},
"-9223372036854775804": {val: -9223372036854775804, ok: true},
"-9223372036854775805": {val: -9223372036854775805, ok: true},
"-9223372036854775806": {val: -9223372036854775806, ok: true},
"-9223372036854775807": {val: -9223372036854775807, ok: true},
"-9223372036854775808": {val: -9223372036854775808, ok: true},
"-9223372036854775809": {val: 0, ok: false},
"-9223372036854775810": {val: 0, ok: false},
"-9223372036854775820": {val: 0, ok: false},
"0777777777777777777770": {val: 9223372036854775800, ok: true},
"0777777777777777777771": {val: 9223372036854775801, ok: true},
"0777777777777777777772": {val: 9223372036854775802, ok: true},
"0777777777777777777773": {val: 9223372036854775803, ok: true},
"0777777777777777777774": {val: 9223372036854775804, ok: true},
"0777777777777777777775": {val: 9223372036854775805, ok: true},
"0777777777777777777776": {val: 9223372036854775806, ok: true},
"0777777777777777777777": {val: 9223372036854775807, ok: true},
"01000000000000000000000": {val: 0, ok: false},
"01000000000000000000001": {val: 0, ok: false},
"01000000000000000000002": {val: 0, ok: false},
"-0777777777777777777777": {val: -9223372036854775807,
ok: true},
"-0x8000000000000000": parseInt64Exp{val: -9223372036854775808,
"-01000000000000000000000": {val: -9223372036854775808,
ok: true},
"-0x8000000000000001": parseInt64Exp{val: 0, ok: false},
"-0x8000000000000002": parseInt64Exp{val: 0, ok: false},
"-01000000000000000000001": {val: 0, ok: false},
"-01000000000000000000002": {val: 0, ok: false},
"-01000000000000000000003": {val: 0, ok: false},
"0x7FFFFFFFFFFFFFF0": {val: 9223372036854775792, ok: true},
"0x7FFFFFFFFFFFFFF1": {val: 9223372036854775793, ok: true},
"0x7FFFFFFFFFFFFFF2": {val: 9223372036854775794, ok: true},
"0x7FFFFFFFFFFFFFF3": {val: 9223372036854775795, ok: true},
"0x7FFFFFFFFFFFFFF4": {val: 9223372036854775796, ok: true},
"0x7FFFFFFFFFFFFFF5": {val: 9223372036854775797, ok: true},
"0x7FFFFFFFFFFFFFF6": {val: 9223372036854775798, ok: true},
"0x7FFFFFFFFFFFFFF7": {val: 9223372036854775799, ok: true},
"0x7FFFFFFFFFFFFFF8": {val: 9223372036854775800, ok: true},
"0x7FFFFFFFFFFFFFF9": {val: 9223372036854775801, ok: true},
"0x7FFFFFFFFFFFFFFA": {val: 9223372036854775802, ok: true},
"0x7FFFFFFFFFFFFFFB": {val: 9223372036854775803, ok: true},
"0x7FFFFFFFFFFFFFFC": {val: 9223372036854775804, ok: true},
"0x7FFFFFFFFFFFFFFD": {val: 9223372036854775805, ok: true},
"0x7FFFFFFFFFFFFFFE": {val: 9223372036854775806, ok: true},
"0x7FFFFFFFFFFFFFFF": {val: 9223372036854775807, ok: true},
"0x8000000000000000": {val: 0, ok: false},
"0x8000000000000001": {val: 0, ok: false},
"0x8000000000000002": {val: 0, ok: false},
"-0x7FFFFFFFFFFFFFFE": {val: -9223372036854775806, ok: true},
"-0x7FFFFFFFFFFFFFFF": {val: -9223372036854775807, ok: true},
"-0x8000000000000000": {val: -9223372036854775808, ok: true},
"-0x8000000000000001": {val: 0, ok: false},
"-0x8000000000000002": {val: 0, ok: false},
}
for str, exp := range expMap {
val, ok := parseInt64([]byte(str))
if val != exp.val || ok != exp.ok {
t.Errorf("parseInt64(%s) want=%v got=%v", str, exp,
parseInt64Exp{val: val, ok: ok})
t.Errorf("parseInt64(%s) want=%v got={%v %v}", str, exp,
val, ok)
}
}
}
......@@ -635,6 +589,7 @@ func TestParseFloat64(t *testing.T) {
// DBL_EPSILON with one fewer digit before 'e'
"2.220446049250313e-016":
{val: 2.220446049250313e-016, ok: true},
// +-2^53
"9.007199254740992e15": {val: 9.007199254740992e15, ok: true},
"-9.007199254740992e15": {val: -9.007199254740992e15, ok: true},
......@@ -649,7 +604,7 @@ func TestParseFloat64(t *testing.T) {
}
}
var fltBenchVec = []struct{
var fltBenchVec = []struct {
name string
bytes []byte
}{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment