mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-16 04:55:22 +03:00
Add with_mem_writer to std::rt::io::mem.
This is in many ways a replacement for the current std::io::with_str_writer.
This commit is contained in:
@@ -196,6 +196,14 @@ fn tell(&self) -> u64 { self.pos as u64 }
|
||||
fn seek(&mut self, _pos: i64, _style: SeekStyle) { fail!() }
|
||||
}
|
||||
|
||||
///Calls a function with a MemWriter and returns
|
||||
///the writer's stored vector.
|
||||
pub fn with_mem_writer(writeFn:&fn(&mut MemWriter)) -> ~[u8] {
|
||||
let mut writer = MemWriter::new();
|
||||
writeFn(&mut writer);
|
||||
writer.inner()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use prelude::*;
|
||||
@@ -255,4 +263,10 @@ fn test_buf_reader() {
|
||||
assert_eq!(reader.read(buf), None);
|
||||
assert!(reader.eof());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_with_mem_writer() {
|
||||
let buf = with_mem_writer(|wr| wr.write([1,2,3,4,5,6,7]));
|
||||
assert_eq!(buf, ~[1,2,3,4,5,6,7]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user