Crates.io | assert_tokens_eq |
lib.rs | assert_tokens_eq |
version | 0.1.0 |
source | src |
created_at | 2019-07-30 21:32:46.094813 |
updated_at | 2019-07-30 21:32:46.094813 |
description | Like Rust's built-in `assert_eq` macro, but for token streams. Passes them through rustfmt, and shows a pretty diff. |
homepage | https://github.com/killercup/assert_tokens_eq |
repository | https://github.com/killercup/assert_tokens_eq.git |
max_upload_size | |
id | 153063 |
size | 70,249 |
Like Rust's built-in assert_eq
macro, but for token streams.
Passes them through rustfmt,
and shows a pretty diff
(powered by pretty_assertions).
You write:
let got = something_that_generates_rust_code();
let expected = quote! {
#[no_mangle]
extern "C" fn foo(
input: *const ::libc::c_char,
input_len: ::libc::size_t,
input3: *const ::libc::c_int,
input3_len: ::libc::size_t,
) {
fn foo(input: Arc<str>, input2: Arc<str>) {}
unimplemented!()
}
};
assert_tokens_eq!(got, expected);
and you get:
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.