Mercurial > core / rust/lib/sxp/tests/ser.rs
changeset 8: |
1227f932b628 |
author: |
ellis <ellis@rwest.io> |
date: |
Tue, 17 Oct 2023 20:36:37 -0400 |
permissions: |
-rw-r--r-- |
description: |
rust import |
1 /// tests/ser.rs --- SER 2 use serde_derive::Serialize; 3 use std::io::BufWriter; 4 use sxp::{to_string, to_vec, to_writer}; 10 seq: Vec<&'static str>, 17 let expected = r#"(:int 1 :seq ("a" "b"))"#; 18 assert_eq!(to_string(&test).unwrap(), expected); 20 to_writer(BufWriter::new(&mut buf), &test).unwrap(); 21 assert_eq!(std::str::from_utf8(&buf).unwrap(), expected); 23 std::str::from_utf8(&to_vec(&test).unwrap()).unwrap(), 33 #[serde(rename = "yoyo")] 43 let expected = r#"Unit"#; 44 assert_eq!(to_string(&u).unwrap(), expected); 46 let expected = r#"yoyo"#; 47 assert_eq!(to_string(&y).unwrap(), expected); 48 let n = E::Newtype(1); 49 let expected = r#"(Newtype 1)"#; 50 assert_eq!(to_string(&n).unwrap(), expected); 52 let t = E::Tuple(1, 2); 53 let expected = r#"(Tuple (1 2))"#; 54 assert_eq!(to_string(&t).unwrap(), expected); 56 let s = E::Struct { a: 1 }; 57 let expected = r#"(Struct (:a 1))"#; 58 assert_eq!(to_string(&s).unwrap(), expected); 61 to_writer(BufWriter::new(&mut buf), &s).unwrap(); 62 assert_eq!(std::str::from_utf8(&buf).unwrap(), expected); 63 assert_eq!(std::str::from_utf8(&to_vec(&s).unwrap()).unwrap(), expected);