diff options
| author | bors <bors@rust-lang.org> | 2013-09-11 12:16:01 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-09-11 12:16:01 -0700 |
| commit | c8f69dd2a4cf80f98e1a1ad37febb4cc9948f5ee (patch) | |
| tree | c328c0664ac29e53acefd61f4a0b57feba363e57 /src/libstd/rt | |
| parent | f711650b8d05afae6feb80b4f9174a2669b2b4e9 (diff) | |
| parent | 5478ebb553c5b0df91efde8d9da4b0eaac6c91fa (diff) | |
| download | rust-c8f69dd2a4cf80f98e1a1ad37febb4cc9948f5ee.tar.gz rust-c8f69dd2a4cf80f98e1a1ad37febb4cc9948f5ee.zip | |
auto merge of #9038 : singingboyo/rust/with-mem-writer, r=anasazi
This is in many ways a replacement for the current std::io::with_str_writer.
Diffstat (limited to 'src/libstd/rt')
| -rw-r--r-- | src/libstd/rt/io/mem.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstd/rt/io/mem.rs b/src/libstd/rt/io/mem.rs index b278f10aed0..808e9f3a383 100644 --- a/src/libstd/rt/io/mem.rs +++ b/src/libstd/rt/io/mem.rs @@ -196,6 +196,14 @@ impl<'self> Seek for BufReader<'self> { 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 @@ mod test { 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]); + } } |
