|
@@ -10,7 +10,7 @@ use dioxus::prelude::*;
|
|
|
/// Should result in moves, but not removals or additions
|
|
|
#[test]
|
|
|
fn keyed_diffing_out_of_order() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order = match generation() % 2 {
|
|
|
0 => &[0, 1, 2, 3, /**/ 4, 5, 6, /**/ 7, 8, 9],
|
|
|
1 => &[0, 1, 2, 3, /**/ 6, 4, 5, /**/ 7, 8, 9],
|
|
@@ -52,7 +52,7 @@ fn keyed_diffing_out_of_order() {
|
|
|
/// Should result in moves only
|
|
|
#[test]
|
|
|
fn keyed_diffing_out_of_order_adds() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order = match generation() % 2 {
|
|
|
0 => &[/**/ 4, 5, 6, 7, 8 /**/],
|
|
|
1 => &[/**/ 8, 7, 4, 5, 6 /**/],
|
|
@@ -62,7 +62,7 @@ fn keyed_diffing_out_of_order_adds() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -78,7 +78,7 @@ fn keyed_diffing_out_of_order_adds() {
|
|
|
/// Should result in moves only
|
|
|
#[test]
|
|
|
fn keyed_diffing_out_of_order_adds_3() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order = match generation() % 2 {
|
|
|
0 => &[/**/ 4, 5, 6, 7, 8 /**/],
|
|
|
1 => &[/**/ 4, 8, 7, 5, 6 /**/],
|
|
@@ -88,7 +88,7 @@ fn keyed_diffing_out_of_order_adds_3() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -104,7 +104,7 @@ fn keyed_diffing_out_of_order_adds_3() {
|
|
|
/// Should result in moves onl
|
|
|
#[test]
|
|
|
fn keyed_diffing_out_of_order_adds_4() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order = match generation() % 2 {
|
|
|
0 => &[/**/ 4, 5, 6, 7, 8 /**/],
|
|
|
1 => &[/**/ 4, 5, 8, 7, 6 /**/],
|
|
@@ -114,7 +114,7 @@ fn keyed_diffing_out_of_order_adds_4() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -130,7 +130,7 @@ fn keyed_diffing_out_of_order_adds_4() {
|
|
|
/// Should result in moves onl
|
|
|
#[test]
|
|
|
fn keyed_diffing_out_of_order_adds_5() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order = match generation() % 2 {
|
|
|
0 => &[/**/ 4, 5, 6, 7, 8 /**/],
|
|
|
1 => &[/**/ 4, 5, 6, 8, 7 /**/],
|
|
@@ -140,7 +140,7 @@ fn keyed_diffing_out_of_order_adds_5() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -155,7 +155,7 @@ fn keyed_diffing_out_of_order_adds_5() {
|
|
|
/// Should result in moves onl
|
|
|
#[test]
|
|
|
fn keyed_diffing_additions() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[/**/ 4, 5, 6, 7, 8 /**/],
|
|
|
1 => &[/**/ 4, 5, 6, 7, 8, 9, 10 /**/],
|
|
@@ -165,7 +165,7 @@ fn keyed_diffing_additions() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -180,7 +180,7 @@ fn keyed_diffing_additions() {
|
|
|
|
|
|
#[test]
|
|
|
fn keyed_diffing_additions_and_moves_on_ends() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[/**/ 4, 5, 6, 7 /**/],
|
|
|
1 => &[/**/ 7, 4, 5, 6, 11, 12 /**/],
|
|
@@ -190,7 +190,7 @@ fn keyed_diffing_additions_and_moves_on_ends() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -209,7 +209,7 @@ fn keyed_diffing_additions_and_moves_on_ends() {
|
|
|
|
|
|
#[test]
|
|
|
fn keyed_diffing_additions_and_moves_in_middle() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[/**/ 1, 2, 3, 4 /**/],
|
|
|
1 => &[/**/ 4, 1, 7, 8, 2, 5, 6, 3 /**/],
|
|
@@ -219,7 +219,7 @@ fn keyed_diffing_additions_and_moves_in_middle() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
// LIS: 4, 5, 6
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
@@ -243,7 +243,7 @@ fn keyed_diffing_additions_and_moves_in_middle() {
|
|
|
|
|
|
#[test]
|
|
|
fn controlled_keyed_diffing_out_of_order() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[4, 5, 6, 7],
|
|
|
1 => &[0, 5, 9, 6, 4],
|
|
@@ -253,7 +253,7 @@ fn controlled_keyed_diffing_out_of_order() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
// LIS: 5, 6
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
@@ -277,7 +277,7 @@ fn controlled_keyed_diffing_out_of_order() {
|
|
|
|
|
|
#[test]
|
|
|
fn controlled_keyed_diffing_out_of_order_max_test() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[0, 1, 2, 3, 4],
|
|
|
1 => &[3, 0, 1, 10, 2],
|
|
@@ -287,7 +287,7 @@ fn controlled_keyed_diffing_out_of_order_max_test() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -306,7 +306,7 @@ fn controlled_keyed_diffing_out_of_order_max_test() {
|
|
|
// just making sure it doesnt happen in the core implementation
|
|
|
#[test]
|
|
|
fn remove_list() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[9, 8, 7, 6, 5],
|
|
|
1 => &[9, 8],
|
|
@@ -316,7 +316,7 @@ fn remove_list() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|
|
@@ -331,7 +331,7 @@ fn remove_list() {
|
|
|
|
|
|
#[test]
|
|
|
fn no_common_keys() {
|
|
|
- let mut dom = VirtualDom::new(|cx| {
|
|
|
+ let mut dom = VirtualDom::new(|| {
|
|
|
let order: &[_] = match generation() % 2 {
|
|
|
0 => &[1, 2, 3],
|
|
|
1 => &[4, 5, 6],
|
|
@@ -341,7 +341,7 @@ fn no_common_keys() {
|
|
|
render!(order.iter().map(|i| render!(div { key: "{i}" })))
|
|
|
});
|
|
|
|
|
|
- _ = dom.rebuild_to_vec(&mut dioxus_core::NoOpMutations);
|
|
|
+ _ = dom.rebuild(&mut dioxus_core::NoOpMutations);
|
|
|
|
|
|
dom.mark_dirty(ScopeId::ROOT);
|
|
|
assert_eq!(
|