summaryrefslogtreecommitdiff
path: root/tests/features
diff options
context:
space:
mode:
Diffstat (limited to 'tests/features')
-rw-r--r--tests/features/embed_data.txt1
-rw-r--r--tests/features/test_embed.zc26
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/features/embed_data.txt b/tests/features/embed_data.txt
new file mode 100644
index 0000000..980a0d5
--- /dev/null
+++ b/tests/features/embed_data.txt
@@ -0,0 +1 @@
+Hello World!
diff --git a/tests/features/test_embed.zc b/tests/features/test_embed.zc
index f6d9468..33acef2 100644
--- a/tests/features/test_embed.zc
+++ b/tests/features/test_embed.zc
@@ -53,5 +53,31 @@ test "test_embed" {
"";
"Analysis successfully completed.";
+}
+
+test "typed_embed" {
+ // String
+ var s = embed "tests/features/embed_data.txt" as string;
+ // "Hello World!\n" ? No newline in my file creation?
+ // echo "Hello World!" > ... likely adds newline.
+ // My previous tool 'write_to_file' wrote "Hello World!". It usually doesn't add newline unless specified?
+ // Let's verify start content.
+ if (s[0] != 'H') exit(101);
+
+ // Fixed array
+ var arr = embed "tests/features/embed_data.txt" as u8[5];
+ if (arr[0] != 'H') exit(102);
+ if (arr[4] != 'o') exit(103);
+
+ // Slice
+ var sl = embed "tests/features/embed_data.txt" as u8[];
+ if (sl.len < 5) exit(104);
+ if (sl.data[0] != 'H') exit(105);
+
+ // Untyped regression
+ var raw = embed "tests/features/embed_data.txt";
+ if (raw.len < 5) exit(106);
+ if (raw.data[0] != 'H') exit(107);
+ println "Typed embed tests passed";
}