Files
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
..
2022-11-22 20:16:14 -08:00
2022-11-29 16:31:04 -05:00
2024-01-10 19:21:15 -06:00
2024-01-16 13:18:46 -06:00
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