summaryrefslogtreecommitdiff
path: root/tests/typ/elements/shape-circle.typ
diff options
context:
space:
mode:
Diffstat (limited to 'tests/typ/elements/shape-circle.typ')
-rw-r--r--tests/typ/elements/shape-circle.typ51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/typ/elements/shape-circle.typ b/tests/typ/elements/shape-circle.typ
new file mode 100644
index 00000000..4b978e86
--- /dev/null
+++ b/tests/typ/elements/shape-circle.typ
@@ -0,0 +1,51 @@
+// Test the `circle` function.
+
+---
+// Default circle.
+#circle()
+#circle[Hey]
+
+---
+// Test auto sizing.
+
+Auto-sized circle. \
+#circle(fill: rgb("eb5278"), stroke: black, thickness: 2pt,
+ align(center + horizon)[But, soft!]
+)
+
+Center-aligned rect in auto-sized circle.
+#circle(fill: forest, stroke: conifer,
+ align(center + horizon,
+ rect(fill: conifer, padding: 5pt)[But, soft!]
+ )
+)
+
+Rect in auto-sized circle. \
+#circle(fill: forest,
+ rect(fill: conifer, stroke: white, padding: 4pt)[
+ #set text(8pt)
+ But, soft! what light through yonder window breaks?
+ ]
+)
+
+Expanded by height.
+#circle(stroke: black, align(center)[A \ B \ C])
+
+---
+// Ensure circle directly in rect works.
+#rect(width: 40pt, height: 30pt, fill: forest, circle(fill: conifer))
+
+---
+// Test relative sizing.
+#let centered(body) = align(center + horizon, body)
+#set text(fill: white)
+#rect(width: 100pt, height: 50pt, fill: rgb("aaa"), centered[
+ #circle(radius: 10pt, fill: eastern, centered[A]) // D=20pt
+ #circle(height: 60%, fill: eastern, centered[B]) // D=30pt
+ #circle(width: 20% + 20pt, fill: eastern, centered[C]) // D=40pt
+])
+
+---
+// Radius wins over width and height.
+// Error: 23-34 unexpected argument
+#circle(radius: 10pt, width: 50pt, height: 100pt, fill: eastern)