diff options
| author | Ian Wrzesinski <133046678+wrzian@users.noreply.github.com> | 2025-06-10 05:11:27 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-10 09:11:27 +0000 |
| commit | 82da96ed957a68017e092e2606226b45c34324f1 (patch) | |
| tree | 45dd88f39ec5401782fb2c588e08b7ed0141220a /tests/suite | |
| parent | e632bffc2ed4c005e5e989b527a05e87f077a8a0 (diff) | |
Improve number lexing (#5969)
Diffstat (limited to 'tests/suite')
| -rw-r--r-- | tests/suite/foundations/float.typ | 8 | ||||
| -rw-r--r-- | tests/suite/layout/length.typ | 36 | ||||
| -rw-r--r-- | tests/suite/layout/relative.typ | 7 |
3 files changed, 36 insertions, 15 deletions
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%%) |
