summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ref/enum-numbering-huge.pngbin0 -> 900 bytes
-rw-r--r--tests/ref/page-numbering-huge.pngbin0 -> 913 bytes
-rw-r--r--tests/src/world.rs2
-rw-r--r--tests/suite/introspection/counter.typ10
-rw-r--r--tests/suite/layout/page.typ10
-rw-r--r--tests/suite/model/enum.typ5
-rw-r--r--tests/suite/model/numbering.typ1
7 files changed, 27 insertions, 1 deletions
diff --git a/tests/ref/enum-numbering-huge.png b/tests/ref/enum-numbering-huge.png
new file mode 100644
index 00000000..b8117e0f
--- /dev/null
+++ b/tests/ref/enum-numbering-huge.png
Binary files differ
diff --git a/tests/ref/page-numbering-huge.png b/tests/ref/page-numbering-huge.png
new file mode 100644
index 00000000..4c886faa
--- /dev/null
+++ b/tests/ref/page-numbering-huge.png
Binary files differ
diff --git a/tests/src/world.rs b/tests/src/world.rs
index 5c267832..9e0e91ad 100644
--- a/tests/src/world.rs
+++ b/tests/src/world.rs
@@ -244,7 +244,7 @@ fn lines(
engine: &mut Engine,
context: Tracked<Context>,
span: Span,
- count: usize,
+ count: u64,
#[default(Numbering::Pattern(NumberingPattern::from_str("A").unwrap()))]
numbering: Numbering,
) -> SourceResult<Value> {
diff --git a/tests/suite/introspection/counter.typ b/tests/suite/introspection/counter.typ
index 2f095f2f..b0657a2a 100644
--- a/tests/suite/introspection/counter.typ
+++ b/tests/suite/introspection/counter.typ
@@ -164,3 +164,13 @@ B
#context test(c.get(), (1,))
#c.step(level: 3)
#context test(c.get(), (1, 0, 1))
+
+--- counter-huge ---
+// Test values greater than 32-bits
+#let c = counter("c")
+#c.update(100000000001)
+#context test(c.get(), (100000000001,))
+#c.step()
+#context test(c.get(), (100000000002,))
+#c.update(n => n + 2)
+#context test(c.get(), (100000000004,))
diff --git a/tests/suite/layout/page.typ b/tests/suite/layout/page.typ
index a35f19bb..4df9f9ca 100644
--- a/tests/suite/layout/page.typ
+++ b/tests/suite/layout/page.typ
@@ -246,6 +246,16 @@ Look, ma, no page numbers!
#set page(header: auto, footer: auto)
Default page numbers now.
+--- page-numbering-huge ---
+#set page(margin: (bottom: 20pt, rest: 0pt))
+#let filler = lines(1)
+
+// Test values greater than 32-bits
+#set page(numbering: "1/1")
+#counter(page).update(100000000001)
+#pagebreak()
+#pagebreak()
+
--- page-marginal-style-text-set ---
#set page(numbering: "1", margin: (bottom: 20pt))
#set text(red)
diff --git a/tests/suite/model/enum.typ b/tests/suite/model/enum.typ
index 7176b04e..7ee4dc20 100644
--- a/tests/suite/model/enum.typ
+++ b/tests/suite/model/enum.typ
@@ -134,6 +134,11 @@ a + 0.
// Error: 22-28 invalid numbering pattern
#set enum(numbering: "(())")
+--- enum-numbering-huge ---
+// Test values greater than 32-bits
+100000000001. A
++ B
+
--- enum-number-align-unaffected ---
// Alignment shouldn't affect number
#set align(horizon)
diff --git a/tests/suite/model/numbering.typ b/tests/suite/model/numbering.typ
index ccd7cfc1..6af989ff 100644
--- a/tests/suite/model/numbering.typ
+++ b/tests/suite/model/numbering.typ
@@ -49,6 +49,7 @@
2000000001, "βΜκʹ, αʹ",
2000010001, "βΜκʹ, αΜαʹ, αʹ",
2056839184, "βΜκʹ, αΜ͵εχπγ, ͵θρπδ",
+ 12312398676, "βΜρκγʹ, αΜ͵ασλθ, ͵ηχοϛ",
)
#t(
pat: sym.Alpha,