summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/arrow-functions/church-1.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/arrow-functions/church-1.js')
-rw-r--r--js/src/jit-test/tests/arrow-functions/church-1.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/arrow-functions/church-1.js b/js/src/jit-test/tests/arrow-functions/church-1.js
new file mode 100644
index 000000000..7849980a5
--- /dev/null
+++ b/js/src/jit-test/tests/arrow-functions/church-1.js
@@ -0,0 +1,17 @@
+// Church booleans
+
+var True = t => f => t;
+var False = t => f => f;
+var bool_to_str = b => b("True")("False");
+var And = a => b => a(b)(a);
+var Or = a => b => a(a)(b);
+
+assertEq(And(True)(True), True);
+assertEq(And(True)(False), False);
+assertEq(And(False)(True), False);
+assertEq(And(False)(False), False);
+
+assertEq(Or(True)(True), True);
+assertEq(Or(True)(False), True);
+assertEq(Or(False)(True), True);
+assertEq(Or(False)(False), False);