commit
6089699411
1 changed files with 28 additions and 26 deletions
|
@ -367,8 +367,8 @@ fn escape_str(writer: &mut io::Writer, v: &str) -> Result<(), io::IoError> {
|
||||||
|
|
||||||
fn escape_char(writer: &mut io::Writer, v: char) -> Result<(), io::IoError> {
|
fn escape_char(writer: &mut io::Writer, v: char) -> Result<(), io::IoError> {
|
||||||
let mut buf = [0, .. 4];
|
let mut buf = [0, .. 4];
|
||||||
v.encode_utf8(&mut buf);
|
let len = v.encode_utf8(&mut buf).unwrap();
|
||||||
escape_bytes(writer, &mut buf)
|
escape_bytes(writer, buf[mut ..len])
|
||||||
}
|
}
|
||||||
|
|
||||||
fn spaces(wr: &mut io::Writer, mut n: uint) -> Result<(), io::IoError> {
|
fn spaces(wr: &mut io::Writer, mut n: uint) -> Result<(), io::IoError> {
|
||||||
|
@ -2729,37 +2729,39 @@ mod tests {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
macro_rules! check_encoder_for_simple(
|
||||||
fn test_write_some() {
|
($value:expr, $expected:expr) => ({
|
||||||
let value = Some("jodhpurs".into_string());
|
|
||||||
let s = with_str_writer(|writer| {
|
let s = with_str_writer(|writer| {
|
||||||
let mut encoder = Encoder::new(writer);
|
let mut encoder = Encoder::new(writer);
|
||||||
value.encode(&mut encoder).unwrap();
|
$value.encode(&mut encoder).unwrap();
|
||||||
});
|
});
|
||||||
assert_eq!(s, "\"jodhpurs\"");
|
assert_eq!(s, $expected);
|
||||||
|
|
||||||
let value = Some("jodhpurs".into_string());
|
|
||||||
let s = with_str_writer(|writer| {
|
let s = with_str_writer(|writer| {
|
||||||
let mut encoder = PrettyEncoder::new(writer);
|
let mut encoder = PrettyEncoder::new(writer);
|
||||||
value.encode(&mut encoder).unwrap();
|
$value.encode(&mut encoder).unwrap();
|
||||||
});
|
});
|
||||||
assert_eq!(s, "\"jodhpurs\"");
|
assert_eq!(s, $expected);
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_write_some() {
|
||||||
|
check_encoder_for_simple!(Some("jodhpurs".to_string()), "\"jodhpurs\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_write_none() {
|
fn test_write_none() {
|
||||||
let value: Option<string::String> = None;
|
check_encoder_for_simple!(None::<string::String>, "null");
|
||||||
let s = with_str_writer(|writer| {
|
}
|
||||||
let mut encoder = Encoder::new(writer);
|
|
||||||
value.encode(&mut encoder).unwrap();
|
|
||||||
});
|
|
||||||
assert_eq!(s, "null");
|
|
||||||
|
|
||||||
let s = with_str_writer(|writer| {
|
#[test]
|
||||||
let mut encoder = Encoder::new(writer);
|
fn test_write_char() {
|
||||||
value.encode(&mut encoder).unwrap();
|
check_encoder_for_simple!('a', "\"a\"");
|
||||||
});
|
check_encoder_for_simple!('\t', "\"\\t\"");
|
||||||
assert_eq!(s, "null");
|
check_encoder_for_simple!('\u00a0', "\"\u00a0\"");
|
||||||
|
check_encoder_for_simple!('\uabcd', "\"\uabcd\"");
|
||||||
|
check_encoder_for_simple!('\U0010ffff', "\"\U0010ffff\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue