dioxus/packages/core/tests
Evan Almloff 34bdcd15cf
Switch to a pool of dynamic values for hot reloading (#2705)
* create the dynamic value pool

* assign ids to dynamic formatted segments

* separate the rendering and literal pools

* rsx output compiles again

* more examples compiling with new rsx expansion

* update template body explanation

* all workspace examples compile

* fix formatted segments in keys

* start hot reload diffing

* fix component literal hot reloading

* start integrate new hot reloading with the CLI

* simple hot reloads working

* Fix hot reloading blocks with components

* implement hot reloading for if chains

* Fix hot reloading after a template requires a full rebuild

* Fix hot reloading any attribute values

* remove unsafe from hot reload utils

* Fix hot reloading empty rsx

* add more hot reloading tests

* reorganize hot reload module

* fix web hydration

* fix empty rsx nodes in autoformatting

* fix tests

* remove path sorting logic from core

* make template names more consistent in debug mode

* fix quote_as_hot_reload_literal for explicitly typed literals

* fix can_be_shorthand for string literals

* fix formatted single dynamic expression

* Fix usize component properties and playwright tests

* remove default implementation for TemplateBody

* add a bunch more comments for diffing, scoring and why this scoring system is optimal
2024-07-30 17:16:27 +00:00
..
.rustfmt.toml wip: add diffing tests 2022-11-22 20:16:14 -08:00
attr_cleanup.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
attributes_pass.rs Switch to a pool of dynamic values for hot reloading (#2705) 2024-07-30 17:16:27 +00:00
boolattrs.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
bubble_error.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
children_drop_futures.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
context_api.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
create_dom.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
create_element.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
create_fragments.rs Fix rsx autocomplete and diagnostics in the root; provide better completions after attributes are finished (#2656) 2024-07-23 16:34:50 -07:00
create_lists.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
create_passthru.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
cycle.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
diff_component.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
diff_element.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
diff_keyed_list.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
diff_unkeyed_list.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
error_boundary.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
event_propagation.rs Implement some clippy fixes 2024-01-30 18:17:45 -08:00
fuzzing.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
hotreloading.rs chore: make warnings go away 2022-11-29 16:31:04 -05:00
kitchen_sink.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
lifecycle.rs fix most typos, add crate-ci/typos to CI (#2653) 2024-07-23 17:49:33 -07:00
miri_full_app.rs Fix flakey windows tests (#2332) 2024-04-17 15:08:38 -07:00
miri_simple.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
miri_stress.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
README.md work on fixing some core tests 2024-01-10 19:21:15 -06:00
safety.rs depreciate the render macro 2024-01-16 13:18:46 -06:00
suspense.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
task.rs Suspense boundaries/out of order streaming/anyhow like error handling (#2365) 2024-07-01 20:50:36 -07:00
tracing.rs Add tracing to virtual_dom (#1949) 2024-02-29 17:49:35 -06:00

Testing of Dioxus core

Diffing

  • create elements
  • create text
  • create fragments
  • create empty fragments (placeholders)
  • diff elements
  • diff from element/text to fragment
  • diff from element/text to empty fragment
  • diff to element with children works too
  • replace with works forward
  • replace with works backward
  • un-keyed diffing
  • keyed diffing
  • keyed diffing out of order
  • keyed diffing with prefix/suffix
  • suspended nodes work

Lifecycle

  • [] Components mount properly
  • [] Components create new child components
  • [] Replaced components unmount old components and mount new
  • [] Post-render effects are called

Shared Context

  • [] Shared context propagates downwards
  • [] unwrapping shared context if it doesn't exist works too

Suspense

  • [] use_suspense generates suspended nodes

Hooks

  • [] Drop order is maintained
  • [] Shared hook state is okay
  • [] use_hook works
  • [] use_ref works
  • [] use_noderef works
  • [] use_provide_state
  • [] use_consume_state

VirtualDOM API

  • [] work
  • [] rebuild_to_vec
  • [] change props