srcless.rs 704 B

123456789101112131415161718192021
  1. use dioxus_rsx::CallBody;
  2. use proc_macro2::TokenStream as TokenStream2;
  3. /// Ensure we can write RSX blocks without a source file
  4. ///
  5. /// Useful in code generation use cases where we still want formatted code.
  6. #[test]
  7. fn write_block_out() {
  8. let src = include_str!("./srcless/basic_expr.rsx");
  9. let tokens: TokenStream2 = syn::parse_str(src).unwrap();
  10. let parsed: CallBody = syn::parse2(tokens).unwrap();
  11. let block = dioxus_autofmt::write_block_out(&parsed).unwrap();
  12. // normalize line endings for windows tests to pass
  13. pretty_assertions::assert_eq!(
  14. block.trim().lines().collect::<Vec<_>>().join("\n"),
  15. src.trim().lines().collect::<Vec<_>>().join("\n")
  16. );
  17. }