summaryrefslogtreecommitdiff
path: root/tests/typ/code/block-scoping.typ
diff options
context:
space:
mode:
Diffstat (limited to 'tests/typ/code/block-scoping.typ')
-rw-r--r--tests/typ/code/block-scoping.typ35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/typ/code/block-scoping.typ b/tests/typ/code/block-scoping.typ
new file mode 100644
index 00000000..7bb98969
--- /dev/null
+++ b/tests/typ/code/block-scoping.typ
@@ -0,0 +1,35 @@
+// Test scoping with blocks.
+// Ref: false
+
+---
+// Block in template does not create a scope.
+{ let x = 1 }
+#test(x, 1)
+
+---
+// Block in expression does create a scope.
+#let a = {
+ let b = 1
+ b
+}
+
+#test(a, 1)
+
+// Error: 2-3 unknown variable
+{b}
+
+---
+// Multiple nested scopes.
+{
+ let a = "a1"
+ {
+ let a = "a2"
+ {
+ test(a, "a2")
+ let a = "a3"
+ test(a, "a3")
+ }
+ test(a, "a2")
+ }
+ test(a, "a1")
+}