mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
test: add behavior tests for slice-by-length
This commit is contained in:
parent
2c2a0402c6
commit
7c8d60e814
@ -355,6 +355,10 @@ test "slice syntax resulting in pointer-to-array" {
|
||||
try testSlice();
|
||||
try testSliceOpt();
|
||||
try testSliceAlign();
|
||||
try testSliceLength();
|
||||
try testSliceLengthZ();
|
||||
try testArrayLength();
|
||||
try testArrayLengthZ();
|
||||
}
|
||||
|
||||
fn testArray() !void {
|
||||
@ -465,6 +469,40 @@ test "slice syntax resulting in pointer-to-array" {
|
||||
try expectEqualSlices("a"[0..] ++ "b"[0..], "ab");
|
||||
try expectEqualSlices("a"[0.. :0] ++ "b"[0.. :0], "ab");
|
||||
}
|
||||
|
||||
fn testSliceLength() !void {
|
||||
var array = [5]u8{ 1, 2, 3, 4, 5 };
|
||||
var slice: []u8 = &array;
|
||||
comptime try expect(@TypeOf(slice[1..][0..2]) == *[2]u8);
|
||||
comptime try expect(@TypeOf(slice[1..][0..4]) == *[4]u8);
|
||||
comptime try expect(@TypeOf(slice[1..][0..2 :4]) == *[2:4]u8);
|
||||
}
|
||||
|
||||
fn testSliceLengthZ() !void {
|
||||
var array = [5:0]u8{ 1, 2, 3, 4, 5 };
|
||||
var slice: [:0]u8 = &array;
|
||||
comptime try expect(@TypeOf(slice[1..][0..2]) == *[2]u8);
|
||||
comptime try expect(@TypeOf(slice[1..][0..2 :4]) == *[2:4]u8);
|
||||
comptime try expect(@TypeOf(slice[1.. :0][0..2]) == *[2]u8);
|
||||
comptime try expect(@TypeOf(slice[1.. :0][0..2 :4]) == *[2:4]u8);
|
||||
}
|
||||
|
||||
fn testArrayLength() !void {
|
||||
var array = [5]u8{ 1, 2, 3, 4, 5 };
|
||||
comptime try expect(@TypeOf(array[1..][0..2]) == *[2]u8);
|
||||
comptime try expect(@TypeOf(array[1..][0..4]) == *[4]u8);
|
||||
comptime try expect(@TypeOf(array[1..][0..2 :4]) == *[2:4]u8);
|
||||
}
|
||||
|
||||
fn testArrayLengthZ() !void {
|
||||
var array = [5:0]u8{ 1, 2, 3, 4, 5 };
|
||||
comptime try expect(@TypeOf(array[1..][0..2]) == *[2]u8);
|
||||
comptime try expect(@TypeOf(array[1..][0..4]) == *[4:0]u8);
|
||||
comptime try expect(@TypeOf(array[1..][0..2 :4]) == *[2:4]u8);
|
||||
comptime try expect(@TypeOf(array[1.. :0][0..2]) == *[2]u8);
|
||||
comptime try expect(@TypeOf(array[1.. :0][0..4]) == *[4:0]u8);
|
||||
comptime try expect(@TypeOf(array[1.. :0][0..2 :4]) == *[2:4]u8);
|
||||
}
|
||||
};
|
||||
|
||||
try S.doTheTest();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user