about summary refs log tree commit diff stats
path: root/js/scripting-lang/tests/09_tables.txt
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/tests/09_tables.txt')
-rw-r--r--js/scripting-lang/tests/09_tables.txt50
1 files changed, 50 insertions, 0 deletions
diff --git a/js/scripting-lang/tests/09_tables.txt b/js/scripting-lang/tests/09_tables.txt
new file mode 100644
index 0000000..3845903
--- /dev/null
+++ b/js/scripting-lang/tests/09_tables.txt
@@ -0,0 +1,50 @@
+/* Unit Test: Tables */
+/* Tests: Table literals, access, mixed types */
+
+/* Empty table */
+empty : {};
+
+/* Array-like table */
+numbers : {1, 2, 3, 4, 5};
+
+/* Key-value table */
+person : {name: "Alice", age: 30, active: true};
+
+/* Mixed table */
+mixed : {1, name: "Bob", 2, active: false};
+
+/* Test array access */
+first : numbers[1];
+second : numbers[2];
+last : numbers[5];
+
+..assert first = 1;
+..assert second = 2;
+..assert last = 5;
+
+/* Test object access */
+name : person.name;
+age : person.age;
+active : person.active;
+
+..assert name = "Alice";
+..assert age = 30;
+..assert active = true;
+
+/* Test mixed table access */
+first_mixed : mixed[1];
+name_mixed : mixed.name;
+second_mixed : mixed[2];
+
+..assert first_mixed = 1;
+..assert name_mixed = "Bob";
+..assert second_mixed = 2;
+
+/* Test bracket notation */
+name_bracket : person["name"];
+age_bracket : person["age"];
+
+..assert name_bracket = "Alice";
+..assert age_bracket = 30;
+
+..out "Tables test completed"; 
\ No newline at end of file