diff --git a/tests/data/range.ccl b/tests/data/range.ccl
new file mode 100644
index 0000000000000000000000000000000000000000..54df0bd2b9b5b11bc0cb8e615d3c5477fade5e0f
--- /dev/null
+++ b/tests/data/range.ccl
@@ -0,0 +1,30 @@
+tagset=kipi
+sentence=t01.xml
+---
+position=0
+range(class,7,8)
+
+{adj,conj,impt}
+---
+position=0
+range(per,0,2)
+
+{pri}
+---
+position=0
+range(m1,6,8)
+
+{m1}
+---
+catflt(0, {nmb,gnd},{cas}) // Uważam
+
+{}
+---
+catflt(18, {nmb,gnd},{cas}) // nie
+
+{acc}
+---
+catflt(11, cas[8], gnd) // cas[8] == {nom,acc}, cas[11] == {gen,acc,loc}, gnd[11] where cas[11] in cas[8] == m1
+
+{m1}
+---
diff --git a/tests/data/sentence.ccl b/tests/data/sentence.ccl
index b2533fb7a4a4cd6d6c9d15e05647086d9f3d320a..f5b14e69cc0c45c86e1e39e15a77961348e69ef7 100644
--- a/tests/data/sentence.ccl
+++ b/tests/data/sentence.ccl
@@ -35,3 +35,19 @@ base[end+1]
 
 []
 ---
+inside(-1)
+
+False
+---
+outside(4)
+
+False
+---
+outside(end+1)
+
+True
+---
+inside(begin+1)
+
+True
+---
diff --git a/tests/data/vars.ccl b/tests/data/vars.ccl
new file mode 100644
index 0000000000000000000000000000000000000000..88e1e4e55d357a0860a045e9c5b643e79bf41687
--- /dev/null
+++ b/tests/data/vars.ccl
@@ -0,0 +1,48 @@
+tagset=kipi
+sentence=t01.xml
+---
+position=0
+and(
+	setvar($s:O, ["leśny","czy"]),
+	setvar($P1, end-1),
+	setvar($P2, end-2),
+	in(orth[$P1], $s:O),
+	in(orth[$P2], $s:O)
+)
+
+True
+---
+position=0
+and(
+	setvar($t:Empty, $t:Uninitialised),
+	setvar($t:Subst, subst),
+	setvar($t:Fin, fin),
+	setvar($t:SubstOnly, $t:Subst),
+	setvar($t:Subst, {subst,ger,depr}),
+	not(equal($t:Subst,$t:SubstOnly)),
+	in($t:SubstOnly, $t:Subst),
+	equal({fin}, $t:Fin),
+	equal({}, $t:Empty)
+)
+
+True
+---
+position=0
+$t:Uninitialised
+
+{}
+---
+position=0
+$b:Uninitialised
+
+False
+---
+position=0
+$s:Uninitialised
+
+[]
+---
+$Uninitialised
+
+nowhere
+---