bubble_error.rs 562 B

123456789101112131415161718192021222324252627282930
  1. //! we should properly bubble up errors from components
  2. use dioxus::prelude::*;
  3. fn app(cx: Scope) -> Element {
  4. let raw = match cx.generation() % 2 {
  5. 0 => "123.123",
  6. 1 => "123.123.123",
  7. _ => unreachable!(),
  8. };
  9. let value = raw.parse::<f32>().unwrap_or(123.123);
  10. cx.render(rsx! {
  11. div { "hello {value}" }
  12. })
  13. }
  14. #[test]
  15. fn bubbles_error() {
  16. let mut dom = VirtualDom::new(app);
  17. {
  18. let _edits = dom.rebuild().santize();
  19. }
  20. dom.mark_dirty(ScopeId::ROOT);
  21. _ = dom.render_immediate();
  22. }