summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIan Wrzesinski <133046678+wrzian@users.noreply.github.com>2025-06-10 05:11:27 -0400
committerGitHub <noreply@github.com>2025-06-10 09:11:27 +0000
commit82da96ed957a68017e092e2606226b45c34324f1 (patch)
tree45dd88f39ec5401782fb2c588e08b7ed0141220a /tests
parente632bffc2ed4c005e5e989b527a05e87f077a8a0 (diff)
Improve number lexing (#5969)
Diffstat (limited to 'tests')
-rw-r--r--tests/ref/double-percent.pngbin496 -> 0 bytes
-rw-r--r--tests/suite/foundations/float.typ8
-rw-r--r--tests/suite/layout/length.typ36
-rw-r--r--tests/suite/layout/relative.typ7
4 files changed, 36 insertions, 15 deletions
diff --git a/tests/ref/double-percent.png b/tests/ref/double-percent.png
deleted file mode 100644
index 61a0d614..00000000
--- a/tests/ref/double-percent.png
+++ /dev/null
Binary files differ
diff --git a/tests/suite/foundations/float.typ b/tests/suite/foundations/float.typ
index a18e9f09..0579acaa 100644
--- a/tests/suite/foundations/float.typ
+++ b/tests/suite/foundations/float.typ
@@ -107,11 +107,11 @@
#123.E // this is a field access, so is fine syntactically
#0.e
#1.E+020
-// Error: 2-10 invalid number: 123.456e
+// Error: 2-10 invalid floating point number: 123.456e
#123.456e
-// Error: 2-11 invalid number: 123.456e+
+// Error: 2-11 invalid floating point number: 123.456e+
#123.456e+
-// Error: 2-6 invalid number: .1E-
+// Error: 2-6 invalid floating point number: .1E-
#.1E-
-// Error: 2-4 invalid number: 0e
+// Error: 2-4 invalid floating point number: 0e
#0e
diff --git a/tests/suite/layout/length.typ b/tests/suite/layout/length.typ
index 3409614f..22b01694 100644
--- a/tests/suite/layout/length.typ
+++ b/tests/suite/layout/length.typ
@@ -75,11 +75,25 @@
// Hint: 2-24 or use `length.abs.inches()` instead to ignore its em component
#(4.5em + 6in).inches()
---- issue-5519-length-base ---
-// Error: 2-9 invalid base-2 prefix
-// Hint: 2-9 numbers with a unit cannot have a base prefix
+--- issue-5519-nondecimal-suffix ---
+// Error: 2-9 binary numbers cannot have a suffix
+// Hint: 2-9 try using a decimal number: 4pt
#0b100pt
+--- nondecimal-suffix-edge-cases ---
+// Error: 2-7 octal numbers cannot have a suffix
+// Hint: 2-7 try using a decimal number: 50%
+#0o62%
+// Error: 2-8 hexadecimal numbers cannot have a suffix
+// Hint: 2-8 try using a decimal number: 2748%
+#0xabc%
+// Error: 2-9 invalid hexadecimal number: 0xabcem
+#0xabcem
+// Error: 2-11 binary numbers cannot have a suffix
+// Hint: 2-11 invalid number suffix: dag
+#0b0101dag
+
+
--- number-syntax-edge-cases ---
// Test numeric syntax edge cases with suffixes and which spans of text are
// highlighted. Valid items are those not annotated with an error comment since
@@ -92,17 +106,23 @@
#1.2E+0%
#1.2e-0%
#0.0e0deg
-#5in%
#0.%
+// Error: 2-6 invalid number suffix: in%
+#5in%
+// Error: 2-6 invalid number suffix: %in
+#5%in
// Error: 2-8 invalid number suffix: hello
#1hello
// Error: 2-7 invalid number suffix: infr
#1infr
-// Error: 2-5 invalid number: 2E
+// Error: 2-5 invalid floating point number: 2E
+// Hint: 2-5 invalid number suffix: M
#2EM
-// Error: 2-8 invalid number: .1E-
+// Error: 2-8 invalid floating point number: .1E-
#.1E-fr
-// Error: 2-16 invalid number: 0.1E+
+// Error: 2-16 invalid floating point number: 0.1E+
+// Hint: 2-16 invalid number suffix: fr123e456
#0.1E+fr123e456
-// Error: 2-11 invalid number: .1e-
+// Error: 2-11 invalid floating point number: .1e-
+// Hint: 2-11 invalid number suffix: fr123
#.1e-fr123.456
diff --git a/tests/suite/layout/relative.typ b/tests/suite/layout/relative.typ
index 5a590892..4b267cf4 100644
--- a/tests/suite/layout/relative.typ
+++ b/tests/suite/layout/relative.typ
@@ -6,10 +6,11 @@
#test((100% + 2pt - 2pt).length, 0pt)
#test((56% + 2pt - 56%).ratio, 0%)
---- double-percent ---
+--- double-percent-embedded ---
// Test for two percent signs in a row.
+// Error: 2-7 invalid number suffix: %%
#3.1%%
---- double-percent-error ---
-// Error: 7-8 the character `%` is not valid in code
+--- double-percent-parens ---
+// Error: 3-8 invalid number suffix: %%
#(3.1%%)