#token-stream #show #diff #rustfmt #pretty #assert-eq #passes

assert_tokens_eq

类似于 Rust 内置的 assert_eq 宏,但用于标记流。通过 rustfmt 处理它们,并显示美观的差分。

1 个不稳定版本

0.1.0 2019 年 7 月 30 日

#10 in #assert-eq


valibuk_core 中使用

MIT/Apache

53KB
280 代码行

assert_tokens_eq

类似于 Rust 的内置 assert_eq 宏,但用于标记流。通过 rustfmt 处理它们,并显示美观的差分(由 pretty_assertions 提供)。

工作原理

您编写

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);

并获得

许可证

根据以下许可证之一授权:

任选其一。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交以包含在工作中的任何贡献,将根据上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~2.5MB
~50K SLoC