Remove std::io from ebml

This commit is contained in:
Alex Crichton 2013-10-21 17:11:42 -07:00
parent 620ab3853a
commit c4907cfd14
7 changed files with 393 additions and 379 deletions

View file

@ -17,7 +17,8 @@
extern mod extra;
use std::io;
use std::rt::io::mem::MemWriter;
use std::rt::io::Decorator;
use std::rand::{random, Rand};
use extra::serialize::{Encodable, Decodable};
use extra::ebml;
@ -55,11 +56,10 @@ struct G<T> {
fn roundtrip<T: Rand + Eq + Encodable<Encoder> + Decodable<Decoder>>() {
let obj: T = random();
let bytes = do io::with_bytes_writer |w| {
let mut e = Encoder(w);
obj.encode(&mut e);
};
let doc = ebml::reader::Doc(@bytes);
let w = @mut MemWriter::new();
let mut e = Encoder(w);
obj.encode(&mut e);
let doc = ebml::reader::Doc(@w.inner_ref().to_owned());
let mut dec = Decoder(doc);
let obj2 = Decodable::decode(&mut dec);
assert!(obj == obj2);