From ec939223aa53ab4d422a136cff154a6b9afab5bb Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Tue, 10 Jul 2018 18:00:12 -0700 Subject: 0.5: Support hex/oct/bin integers. cc #224 --- test-suite/tests/invalid-misc.rs | 4 ++++ test-suite/tests/valid/integer.json | 10 +++++++++- test-suite/tests/valid/integer.toml | 14 ++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) (limited to 'test-suite/tests') diff --git a/test-suite/tests/invalid-misc.rs b/test-suite/tests/invalid-misc.rs index 218be4f..80421e3 100644 --- a/test-suite/tests/invalid-misc.rs +++ b/test-suite/tests/invalid-misc.rs @@ -11,6 +11,10 @@ fn bad() { bad("a = 1_"); bad("''"); bad("a = 9e99999"); + bad("a = \"\u{7f}\""); bad("a = '\u{7f}'"); + + bad("a = -0x1"); + bad("a = 0x-1"); } diff --git a/test-suite/tests/valid/integer.json b/test-suite/tests/valid/integer.json index 86f779f..77ecb6c 100644 --- a/test-suite/tests/valid/integer.json +++ b/test-suite/tests/valid/integer.json @@ -1,6 +1,14 @@ { "answer": {"type": "integer", "value": "42"}, "neganswer": {"type": "integer", "value": "-42"}, + "neg_zero": {"type": "integer", "value": "0"}, - "pos_zero": {"type": "integer", "value": "0"} + "pos_zero": {"type": "integer", "value": "0"}, + + "hex1": {"type": "integer", "value": "3735928559"}, + "hex2": {"type": "integer", "value": "3735928559"}, + "hex3": {"type": "integer", "value": "3735928559"}, + "oct1": {"type": "integer", "value": "342391"}, + "oct2": {"type": "integer", "value": "493"}, + "bin1": {"type": "integer", "value": "214"} } diff --git a/test-suite/tests/valid/integer.toml b/test-suite/tests/valid/integer.toml index 2bdca34..8362459 100644 --- a/test-suite/tests/valid/integer.toml +++ b/test-suite/tests/valid/integer.toml @@ -1,4 +1,18 @@ answer = 42 neganswer = -42 + neg_zero = -0 pos_zero = +0 + +# hexadecimal with prefix `0x` +hex1 = 0xDEADBEEF +hex2 = 0xdeadbeef +hex3 = 0xdead_beef + +# octal with prefix `0o` +oct1 = 0o01234567 +oct2 = 0o755 # useful for Unix file permissions + +# binary with prefix `0b` +bin1 = 0b11010110 + -- cgit v1.2.3