hotreloads.rs 1013 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. use dioxus_rsx::hot_reload::{diff_rsx, DiffResult};
  2. use syn::File;
  3. fn load_files(old: &str, new: &str) -> (File, File) {
  4. let old = syn::parse_file(old).unwrap();
  5. let new = syn::parse_file(new).unwrap();
  6. (old, new)
  7. }
  8. #[test]
  9. fn hotreloads() {
  10. let (old, new) = load_files(
  11. include_str!("./valid/expr.old.rsx"),
  12. include_str!("./valid/expr.new.rsx"),
  13. );
  14. assert!(matches!(
  15. diff_rsx(&new, &old),
  16. DiffResult::RsxChanged { .. }
  17. ));
  18. let (old, new) = load_files(
  19. include_str!("./valid/let.old.rsx"),
  20. include_str!("./valid/let.new.rsx"),
  21. );
  22. assert!(matches!(
  23. diff_rsx(&new, &old),
  24. DiffResult::RsxChanged { .. }
  25. ));
  26. }
  27. #[test]
  28. fn doesnt_hotreload() {
  29. let (old, new) = load_files(
  30. include_str!("./invalid/changedexpr.old.rsx"),
  31. include_str!("./invalid/changedexpr.new.rsx"),
  32. );
  33. let res = diff_rsx(&new, &old);
  34. dbg!(&res);
  35. assert!(matches!(res, DiffResult::CodeChanged(_)));
  36. }