aboutsummaryrefslogtreecommitdiff
path: root/tests/programs/strings.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/programs/strings.zc')
-rw-r--r--tests/programs/strings.zc37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/programs/strings.zc b/tests/programs/strings.zc
new file mode 100644
index 0000000..431bd4e
--- /dev/null
+++ b/tests/programs/strings.zc
@@ -0,0 +1,37 @@
+fn main() {
+ let a = b"hi", b = b"!", c = a + b;
+ let mid = c[1:3];
+ let neg = s_to_n(b"-42");
+ let p = n_to_s(42);
+ let q = n_to_s(0 - 42);
+ let ten = s_to_n(b"10");
+ let big = n_to_s(1 << 63);
+ let empty = b"";
+ let tail = c[2:99];
+ let esc = b"a\nb";
+ let z = b"" + b"ab";
+ put_s(c); put_c(32);
+ put_n(len(c)); put_c(32);
+ put_n(len_s(c)); put_c(32);
+ put_n(c[0]); put_c(32);
+ put_s(mid); put_c(32);
+ put_n(c == b"hi!"); put_c(32);
+ put_n(c != b"hi"); put_c(32);
+ put_n(c < b"hj"); put_c(32);
+ put_n(neg); put_c(32);
+ put_s(p); put_c(32);
+ put_s(q); put_c(32);
+ put_n(ten + 1); put_c(32);
+ put_n(p == b"42"); put_c(32);
+ put_s(big); put_c(32);
+ put_n(len(empty)); put_c(32);
+ put_n(len(tail)); put_c(32);
+ put_n(len_s(esc)); put_c(32);
+ put_n(at_s(esc, 1)); put_c(32);
+ put_n(b"ab" > b"a"); put_c(32);
+ put_n(b"ab" >= b"ab"); put_c(32);
+ put_n(b"a" <= b"a"); put_c(32);
+ put_s("W"); put_c(32);
+ put_s(z); put_c(10);
+ return 0;
+}