| ... | @@ -2,6 +2,7 @@ const std = @import("index.zig"); | ... | @@ -2,6 +2,7 @@ const std = @import("index.zig"); |
| 2 | const io = std.io; | 2 | const io = std.io; |
| 3 | const DefaultPrng = std.rand.DefaultPrng; | 3 | const DefaultPrng = std.rand.DefaultPrng; |
| 4 | const assert = std.debug.assert; | 4 | const assert = std.debug.assert; |
| | 5 | const assertError = std.debug.assertError; |
| 5 | const mem = std.mem; | 6 | const mem = std.mem; |
| 6 | const os = std.os; | 7 | const os = std.os; |
| 7 | const builtin = @import("builtin"); | 8 | const builtin = @import("builtin"); |
| ... | @@ -61,9 +62,9 @@ test "BufferOutStream" { | ... | @@ -61,9 +62,9 @@ test "BufferOutStream" { |
| 61 | assert(mem.eql(u8, buffer.toSlice(), "x: 42\ny: 1234\n")); | 62 | assert(mem.eql(u8, buffer.toSlice(), "x: 42\ny: 1234\n")); |
| 62 | } | 63 | } |
| 63 | | 64 | |
| 64 | test "SliceStream" { | 65 | test "SliceInStream" { |
| 65 | const bytes = []const u8 { 1, 2, 3, 4, 5, 6, 7 }; | 66 | const bytes = []const u8 { 1, 2, 3, 4, 5, 6, 7 }; |
| 66 | var ss = io.SliceStream.init(bytes); | 67 | var ss = io.SliceInStream.init(bytes); |
| 67 | | 68 | |
| 68 | var dest: [4]u8 = undefined; | 69 | var dest: [4]u8 = undefined; |
| 69 | | 70 | |
| ... | @@ -81,8 +82,8 @@ test "SliceStream" { | ... | @@ -81,8 +82,8 @@ test "SliceStream" { |
| 81 | | 82 | |
| 82 | test "PeekStream" { | 83 | test "PeekStream" { |
| 83 | const bytes = []const u8 { 1, 2, 3, 4, 5, 6, 7, 8 }; | 84 | const bytes = []const u8 { 1, 2, 3, 4, 5, 6, 7, 8 }; |
| 84 | var ss = io.SliceStream.init(bytes); | 85 | var ss = io.SliceInStream.init(bytes); |
| 85 | var ps = io.PeekStream(2, io.SliceStream.Error).init(&ss.stream); | 86 | var ps = io.PeekStream(2, io.SliceInStream.Error).init(&ss.stream); |
| 86 | | 87 | |
| 87 | var dest: [4]u8 = undefined; | 88 | var dest: [4]u8 = undefined; |
| 88 | | 89 | |
| ... | @@ -111,3 +112,23 @@ test "PeekStream" { | ... | @@ -111,3 +112,23 @@ test "PeekStream" { |
| 111 | assert(dest[0] == 12); | 112 | assert(dest[0] == 12); |
| 112 | assert(dest[1] == 11); | 113 | assert(dest[1] == 11); |
| 113 | } | 114 | } |
| | 115 | |
| | 116 | test "SliceOutStream" { |
| | 117 | var buffer: [10]u8 = undefined; |
| | 118 | var ss = io.SliceOutStream.init(buffer[0..]); |
| | 119 | |
| | 120 | try ss.stream.write("Hello"); |
| | 121 | assert(mem.eql(u8, ss.getWritten(), "Hello")); |
| | 122 | |
| | 123 | try ss.stream.write("world"); |
| | 124 | assert(mem.eql(u8, ss.getWritten(), "Helloworld")); |
| | 125 | |
| | 126 | assertError(ss.stream.write("!"), error.OutOfSpace); |
| | 127 | assert(mem.eql(u8, ss.getWritten(), "Helloworld")); |
| | 128 | |
| | 129 | ss.reset(); |
| | 130 | assert(ss.getWritten().len == 0); |
| | 131 | |
| | 132 | assertError(ss.stream.write("Hello world!"), error.OutOfSpace); |
| | 133 | assert(mem.eql(u8, ss.getWritten(), "Hello worl")); |
| | 134 | } |