@@ -2,6 +2,7 @@ const std = @import("index.zig");
2
2
const io = std .io ;
3
3
const DefaultPrng = std .rand .DefaultPrng ;
4
4
const assert = std .debug .assert ;
5
+ const assertError = std .debug .assertError ;
5
6
const mem = std .mem ;
6
7
const os = std .os ;
7
8
const builtin = @import ("builtin" );
@@ -61,9 +62,9 @@ test "BufferOutStream" {
61
62
assert (mem .eql (u8 , buffer .toSlice (), "x: 42\n y: 1234\n " ));
62
63
}
63
64
64
- test "SliceStream " {
65
+ test "SliceInStream " {
65
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
69
var dest : [4 ]u8 = undefined ;
69
70
@@ -81,8 +82,8 @@ test "SliceStream" {
81
82
82
83
test "PeekStream" {
83
84
const bytes = []const u8 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 };
84
- var ss = io .SliceStream .init (bytes );
85
- var ps = io .PeekStream (2 , io .SliceStream .Error ).init (& ss .stream );
85
+ var ss = io .SliceInStream .init (bytes );
86
+ var ps = io .PeekStream (2 , io .SliceInStream .Error ).init (& ss .stream );
86
87
87
88
var dest : [4 ]u8 = undefined ;
88
89
@@ -111,3 +112,23 @@ test "PeekStream" {
111
112
assert (dest [0 ] == 12 );
112
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
+ }
0 commit comments