about summary refs log tree commit diff stats
path: root/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt')
-rw-r--r--js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt b/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt
new file mode 100644
index 0000000..7387c93
--- /dev/null
+++ b/js/scripting-lang/scratch_tests/test_embedded_functions_gradual.txt
@@ -0,0 +1,59 @@
+/* Gradual embedded functions test */
+
+// Test 1: Basic arrow functions
+basic : {
+    identity: x -> x,
+    double: x -> x * 2
+};
+
+// Test 2: When expressions (simple)
+classifier1 : {
+    classify: x -> when x is
+        0 then "zero"
+        _ then "other"
+};
+
+// Test 3: When expressions (multiple cases)
+classifier2 : {
+    classify: x -> when x is
+        0 then "zero"
+        1 then "one"
+        2 then "two"
+        _ then "other"
+};
+
+// Test 4: Mixed content tables
+mixed : {
+    name: "Calculator",
+    add: x y -> x + y
+};
+
+// Output tests
+..out "=== GRADUAL EMBEDDED FUNCTIONS TEST ===";
+
+..out "Basic functions:";
+id_result : basic.identity 42;
+..out id_result;
+double_result : basic.double 21;
+..out double_result;
+
+..out "Simple classifier:";
+class1_zero : classifier1.classify 0;
+..out class1_zero;
+class1_other : classifier1.classify 99;
+..out class1_other;
+
+..out "Complex classifier:";
+class2_zero : classifier2.classify 0;
+..out class2_zero;
+class2_one : classifier2.classify 1;
+..out class2_one;
+class2_two : classifier2.classify 2;
+..out class2_two;
+class2_other : classifier2.classify 99;
+..out class2_other;
+
+..out "Mixed table:";
+..out mixed.name;
+mixed_add : mixed.add 15 25;
+..out mixed_add; 
\ No newline at end of file