aboutsummaryrefslogtreecommitdiff
path: root/tests/programs/strings.zc
blob: cde3a94ad0eaacd5076a97dd56f12a748d2a23e1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
namespace;
include rt;

fn main() {
	let a = b"hi", b = b"!", c = a + b;
	let mid = c[1:3];
	let neg = rt.s_to_n(b"-42");
	let p = rt.n_to_s(42);
	let q = rt.n_to_s(0 - 42);
	let ten = rt.s_to_n(b"10");
	let big = rt.n_to_s(1 << 63);
	let empty = b"";
	let tail = c[2:99];
	let esc = b"a\nb";
	let z = b"" + b"ab";
	rt.put_s(c); rt.put_c(32);
	rt.put_n(len(c)); rt.put_c(32);
	rt.put_n(rt.len_s(c)); rt.put_c(32);
	rt.put_n(c[0]); rt.put_c(32);
	rt.put_s(mid); rt.put_c(32);
	rt.put_n(c == b"hi!"); rt.put_c(32);
	rt.put_n(c != b"hi"); rt.put_c(32);
	rt.put_n(c < b"hj"); rt.put_c(32);
	rt.put_n(neg); rt.put_c(32);
	rt.put_s(p); rt.put_c(32);
	rt.put_s(q); rt.put_c(32);
	rt.put_n(ten + 1); rt.put_c(32);
	rt.put_n(p == b"42"); rt.put_c(32);
	rt.put_s(big); rt.put_c(32);
	rt.put_n(len(empty)); rt.put_c(32);
	rt.put_n(len(tail)); rt.put_c(32);
	rt.put_n(rt.len_s(esc)); rt.put_c(32);
	rt.put_n(rt.at_s(esc, 1)); rt.put_c(32);
	rt.put_n(b"ab" > b"a"); rt.put_c(32);
	rt.put_n(b"ab" >= b"ab"); rt.put_c(32);
	rt.put_n(b"a" <= b"a"); rt.put_c(32);
	rt.put_s("W"); rt.put_c(32);
	rt.put_s(z); rt.put_c(10);
	return 0;
}