diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2016-12-26 03:44:59 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2016-12-26 03:44:59 -0500 |
| commit | aee7ad3de2e3c334ec5aac2d355e4eed086f1cdf (patch) | |
| tree | 8577f02b3514539a2accc91e3ebbcb144d0f1208 /test/cases/array.zig | |
| parent | 73a751911e2c2be646287eb8c8d579dded25afe3 (diff) | |
| download | zig-aee7ad3de2e3c334ec5aac2d355e4eed086f1cdf.tar.gz zig-aee7ad3de2e3c334ec5aac2d355e4eed086f1cdf.zip | |
IR: port all passing tests over
Diffstat (limited to 'test/cases/array.zig')
| -rw-r--r-- | test/cases/array.zig | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/cases/array.zig b/test/cases/array.zig index d27b611a9d..7839db9bb9 100644 --- a/test/cases/array.zig +++ b/test/cases/array.zig @@ -55,6 +55,19 @@ const ArrayDotLenConstExpr = struct { const some_array = []u8 {0, 1, 2, 3}; +fn nestedArrays() { + @setFnTest(this); + + const array_of_strings = [][]u8 {"hello", "this", "is", "my", "thing"}; + for (array_of_strings) |s, i| { + if (i == 0) assert(memeql(s, "hello")); + if (i == 1) assert(memeql(s, "this")); + if (i == 2) assert(memeql(s, "is")); + if (i == 3) assert(memeql(s, "my")); + if (i == 4) assert(memeql(s, "thing")); + } +} + // TODO const assert = @import("std").debug.assert; @@ -62,3 +75,17 @@ fn assert(ok: bool) { if (!ok) @unreachable(); } + +// TODO import from std.str +pub fn memeql(a: []const u8, b: []const u8) -> bool { + sliceEql(u8, a, b) +} + +// TODO import from std.str +pub fn sliceEql(inline T: type, a: []const T, b: []const T) -> bool { + if (a.len != b.len) return false; + for (a) |item, index| { + if (b[index] != item) return false; + } + return true; +} |
