loro/crates/fuzz/tests/undo.rs
Zixuan Chen 07500dab34
fix: map.keys() may return keys from deleted entries (#618)
* fix: map.keys() may return keys from deleted entries

* chore: changeset

* chore: fix latest clippy warning
2025-01-15 14:12:30 +08:00

3509 lines
109 KiB
Rust

#![allow(unexpected_cfgs)]
use fuzz::{
actions::{ActionWrapper::*, GenericAction},
crdt_fuzzer::{minify_simple, test_multi_sites, Action::*, FuzzTarget, FuzzValue::*},
};
use loro::ContainerType::*;
#[ctor::ctor]
fn init() {
dev_utils::setup_test_log();
}
#[test]
fn undo_tree_with_map() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 174,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(117440512),
bool: true,
key: 1275068415,
pos: 18446743068687204667,
length: 46161896180416511,
prop: 18446463698227691775,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-12976128),
bool: true,
key: 131071,
pos: 3399988123389597184,
length: 3400000218017509167,
prop: 3399988123389603631,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(791621423),
bool: true,
key: 791621423,
pos: 18372433783001394991,
length: 13281205459693609,
prop: 18446744069425331619,
}),
},
SyncAll,
SyncAllUndo {
site: 149,
op_len: 65533,
},
],
);
}
#[test]
fn redo_tree_id_diff() {
test_multi_sites(
2,
vec![FuzzTarget::All],
&mut [
Handle {
site: 51,
target: 60,
container: 197,
action: Generic(GenericAction {
value: I32(-296905323),
bool: false,
key: 2395151462,
pos: 6335698875578771752,
length: 1716855125946684615,
prop: 2807457672376879961,
}),
},
Handle {
site: 162,
target: 167,
container: 90,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 929442508,
pos: 4887648083275096983,
length: 8237173174339417107,
prop: 1571041097810100079,
}),
},
Checkout {
site: 56,
to: 1826343396,
},
SyncAllUndo {
site: 10,
op_len: 998370061,
},
Handle {
site: 112,
target: 78,
container: 159,
action: Generic(GenericAction {
value: Container(MovableList),
bool: false,
key: 1978700208,
pos: 15377364763518525973,
length: 13205966979381542996,
prop: 5155832222345785212,
}),
},
],
);
}
#[test]
fn tree_delete() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 33,
target: 147,
container: 2,
action: Generic(GenericAction {
value: I32(2071690107),
bool: true,
key: 2223278715,
pos: 11357407135578037636,
length: 11357407135578037661,
prop: 11357407135578037661,
}),
},
SyncAllUndo {
site: 223,
op_len: 33721747,
},
Handle {
site: 2,
target: 2,
container: 255,
action: Generic(GenericAction {
value: I32(-1971618949),
bool: false,
key: 2644345988,
pos: 11357407135578037661,
length: 11357407135578037661,
prop: 11357407135578037661,
}),
},
SyncAllUndo {
site: 157,
op_len: 2644352413,
},
],
)
}
#[test]
fn tree_undo_delete_with_diff_old_index() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 4280621851,
pos: 1953184669377757183,
length: 1953184666628070171,
prop: 71829045943205915,
}),
},
Handle {
site: 251,
target: 197,
container: 255,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 454761243,
pos: 1953184666628070171,
length: 16710579922159737627,
prop: 288230380914862055,
}),
},
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(387661595),
bool: false,
key: 454761243,
pos: 1953184666628070171,
length: 71829045943205915,
prop: 18430413027502194837,
}),
},
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 454761243,
pos: 16710579922159737627,
length: 288230380914862055,
prop: 1953184666628070171,
}),
},
Handle {
site: 63,
target: 27,
container: 23,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 454761243,
pos: 1953184666628070171,
length: 1953184666628070171,
prop: 1953184666627808027,
}),
},
SyncAll,
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761243),
bool: false,
key: 807600128,
pos: 29802787832063,
length: 163831513883392,
prop: 2527082340907941888,
}),
},
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(-1920103141),
bool: true,
key: 2374864269,
pos: 10199964370168810893,
length: 10199964370168810893,
prop: 10199964370168810893,
}),
},
SyncAllUndo {
site: 141,
op_len: 2374864269,
},
],
)
}
#[test]
fn tree_undo_delete_parent_in_b() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 129,
target: 207,
container: 96,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 1478566177,
pos: 2387225703656530209,
length: 388195770586702113,
prop: 18446743116485501224,
}),
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331665,
pos: 17216961135462248175,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331137),
bool: true,
key: 286331153,
pos: 4256201887840276755,
length: 1229782946837238033,
prop: 1229782938247303441,
}),
},
SyncAll,
Handle {
site: 0,
target: 2,
container: 5,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 2145059327,
pos: 4050480110299788081,
length: 18157383382424616754,
prop: 18157383382357244923,
}),
},
Undo {
site: 255,
op_len: 4227596287,
},
Handle {
site: 223,
target: 47,
container: 184,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4227595259,
pos: 18157383382357244923,
length: 2387225703656586235,
prop: 18446744073709551615,
}),
},
SyncAll,
Undo {
site: 17,
op_len: 3823363055,
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 243,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 1229782942240280849,
length: 1229782869527826705,
prop: 1229785137270558993,
}),
},
Checkout {
site: 17,
to: 319885585,
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 16501207799683944947,
length: 2676586395008832811,
prop: 40841467208997,
}),
},
Handle {
site: 243,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286332177),
bool: true,
key: 286327027,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303658,
}),
},
SyncAllUndo {
site: 135,
op_len: 2273806215,
},
],
)
}
#[test]
fn tree_undo_move_parent_deleted_in_b() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 129,
target: 207,
container: 96,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 1478566177,
pos: 2387225703656530209,
length: 388195770586702113,
prop: 18446743116485501224,
}),
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331665,
pos: 17216961135462248175,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331137),
bool: true,
key: 286331153,
pos: 4256201887840276755,
length: 1229782946837238033,
prop: 1229782938247303441,
}),
},
SyncAll,
Handle {
site: 0,
target: 2,
container: 5,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 2145059327,
pos: 4050480110299788081,
length: 18157383382424616754,
prop: 18157383382357244923,
}),
},
// create
Handle {
site: 0,
target: 2,
container: 5,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 2145059327,
pos: 4050480110299788081,
length: 18157383382424616754,
prop: 18157383382357244923,
}),
},
Handle {
site: 0,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286332177),
bool: true,
key: 286327027,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303658,
}),
},
Handle {
site: 223,
target: 47,
container: 184,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4227595259,
pos: 18157383382357244923,
length: 2387225703656586235,
prop: 18446744073709551615,
}),
},
SyncAll,
Undo {
site: 17,
op_len: 3823363055,
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 243,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 1229782942240280849,
length: 1229782869527826705,
prop: 1229785137270558993,
}),
},
Checkout {
site: 17,
to: 319885585,
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 16501207799683944947,
length: 2676586395008832811,
prop: 40841467208997,
}),
},
Handle {
site: 243,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286332177),
bool: true,
key: 286327027,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303658,
}),
},
SyncAllUndo {
site: 135,
op_len: 2273806215,
},
],
)
}
#[test]
fn tree_undo_move_deleted_in_b() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 129,
target: 207,
container: 96,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 1478566177,
pos: 2387225703656530209,
length: 388195770586702113,
prop: 18446743116485501224,
}),
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331665,
pos: 17216961135462248175,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331137),
bool: true,
key: 286331153,
pos: 4256201887840276755,
length: 1229782946837238033,
prop: 1229782938247303441,
}),
},
SyncAll,
Handle {
site: 0,
target: 2,
container: 5,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 2145059327,
pos: 4050480110299788081,
length: 18157383382424616754,
prop: 18157383382357244923,
}),
},
// create
Handle {
site: 0,
target: 2,
container: 5,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 2145059327,
pos: 4050480110299788081,
length: 18157383382424616754,
prop: 18157383382357244923,
}),
},
Handle {
site: 0,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286332177),
bool: true,
key: 286327027,
pos: 0,
length: 1,
prop: 2,
}),
},
Handle {
site: 223,
target: 47,
container: 184,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4227595259,
pos: 18157383382357244923,
length: 2387225703656586235,
prop: 18446744073709551615,
}),
},
SyncAll,
Undo {
site: 17,
op_len: 3823363055,
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 243,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 0,
length: 1229782869527826705,
prop: 1229785137270558993,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286331153,
pos: 0,
length: 2676586395008832811,
prop: 1,
}),
},
Handle {
site: 243,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286332177),
bool: true,
key: 286327027,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303658,
}),
},
SyncAllUndo {
site: 135,
op_len: 2273806215,
},
],
)
}
#[test]
fn tree_diff_position() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151650303,
pos: 18446744073709488393,
length: 18446744073709551607,
prop: 2242546323825885183,
}),
},
Handle {
site: 31,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 4294904073,
pos: 18446744039349813247,
length: 18446744073709551615,
prop: 18446744073709540631,
}),
},
Handle {
site: 31,
target: 31,
container: 120,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151587327,
pos: 17870283321406127881,
length: 18446744073709551615,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 120,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294904319,
pos: 18446744073709551615,
length: 2267596630907625247,
prop: 18446744073709551391,
}),
},
Handle {
site: 95,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294967295,
pos: 2267596630907625247,
length: 18446744073709551391,
prop: 18446472533143846911,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151587081,
pos: 18444492273895866367,
length: 18446744073709551615,
prop: 18446744072989704191,
}),
},
SyncAllUndo {
site: 131,
op_len: 2,
},
],
)
}
#[test]
fn tree_undo_unknown() {
// 0: create 13@0 create 0@0 -> 13@0
// 1: meta 0@0 delete 13@0
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4281330307,
pos: 3423861436305875967,
length: 18446744073694871551,
prop: 18446744073709551615,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(2015305503),
bool: true,
key: 4294967071,
pos: 18446743798831644671,
length: 18446744039349813247,
prop: 18446744073709551615,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 3040456650767990783,
prop: 18446744073709551607,
}),
},
Handle {
site: 0,
target: 0,
container: 133,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 2039775,
pos: 18446744071620984832,
length: 9476418040919695327,
prop: 18410674826839588863,
}),
},
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(2015305503),
bool: true,
key: 4294967071,
pos: 651333096108457983,
length: 1441151880758495497,
prop: 18374686479671623680,
}),
},
SyncAll,
Checkout {
site: 131,
to: 536838583,
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4294913857,
pos: 18388060938407193507,
length: 18446744073709494271,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 4280229752,
pos: 18446744073709551615,
length: 18446744069566171401,
prop: 18446744073709027327,
}),
},
SyncAll,
SyncAll,
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10779248702831402783,
length: 9485706711646962581,
prop: 18446743254173297663,
}),
},
SyncAll,
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 4294967160,
pos: 18446744073709551615,
length: 18446744073709551615,
prop: 2242545357980377087,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(191)),
bool: true,
key: 4294967295,
pos: 18446744073709027327,
length: 15355022929519706111,
prop: 18446744073709551523,
}),
},
SyncAll,
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 707911479,
pos: 18446744073709551607,
length: 9583660007048690651,
prop: 18446744073564528789,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 2305843009213693951,
length: 10778687951896697631,
prop: 18386970223563456899,
}),
},
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 553975807,
pos: 18446744073560727841,
length: 18446744073709551615,
prop: 11805368386500689919,
}),
},
Handle {
site: 31,
target: 31,
container: 120,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10922800942115921695,
length: 11817444525671159189,
prop: 18446743179637817219,
}),
},
SyncAll,
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 4280229752,
pos: 18428729675200069631,
length: 18444492273895866367,
prop: 18446744073709551615,
}),
},
SyncAll,
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(List),
bool: true,
key: 872415231,
pos: 18446744073561321951,
length: 71725349863423,
prop: 18444310994424758272,
}),
},
SyncAll,
Handle {
site: 0,
target: 131,
container: 131,
action: Generic(GenericAction {
value: I32(-8398026),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242545361753210879,
prop: 2242545357980376863,
}),
},
SyncAll,
SyncAll,
Handle {
site: 9,
target: 9,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: false,
key: 4278190080,
pos: 18446744073709551607,
length: 18420801199931391999,
prop: 2267596630907682815,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4281287043,
pos: 3423861436305875967,
length: 18446744073694871551,
prop: 18446744073709551615,
}),
},
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522156063),
bool: true,
key: 4294967295,
pos: 651061559686070271,
length: 18444492273895866367,
prop: 18446744073709551615,
}),
},
Checkout {
site: 131,
to: 536838583,
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4294913857,
pos: 18446515191345546147,
length: 18446744073709494271,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 4294967160,
pos: 18446744073709551615,
length: 18446744073709551615,
prop: 2242545357980377087,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(191)),
bool: true,
key: 4294967295,
pos: 18446744073709027327,
length: 15355022929519706111,
prop: 18446744073709551523,
}),
},
SyncAll,
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 707911479,
pos: 18446744073709551607,
length: 9583660007048690651,
prop: 18446744073564528789,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242792614430507007,
prop: 2242545357980376863,
}),
},
Handle {
site: 31,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 4294904073,
pos: 335544319,
length: 18446744039333036032,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 120,
target: 31,
container: 59,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10778687951896697631,
length: 18386970223563456899,
prop: 18383693675428577237,
}),
},
SyncAll,
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(2015305503),
bool: true,
key: 5407,
pos: 2305841909702066176,
length: 10736644025422389023,
prop: 18446743616657790357,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(527965983),
bool: true,
key: 4294967295,
pos: 10778763175739260927,
length: 18387987836983154581,
prop: 2267596630907625247,
}),
},
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-2049),
bool: true,
key: 4294967295,
pos: 18420801199931391999,
length: 2267596630907682815,
prop: 4,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4281287043,
pos: 3423861436305875967,
length: 18446744073694871551,
prop: 18446744073709551615,
}),
},
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522156063),
bool: true,
key: 33554432,
pos: 2242546323809107968,
length: 10778685111367573279,
prop: 18446744073702577559,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 4280229752,
pos: 18446744073709551615,
length: 9481649068780656091,
prop: 15420091632514445121,
}),
},
SyncAll,
SyncAll,
SyncAll,
SyncAll,
SyncAll,
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522156063),
bool: true,
key: 4294967295,
pos: 651062616234196991,
length: 17870283321406127881,
prop: 18446744073709551615,
}),
},
SyncAll,
// 0@0 meta
Handle {
site: 31,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Map),
bool: true,
key: 4294967167,
pos: 18446744073709551615,
length: 2305843009213693951,
prop: 2242545332210573087,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(List),
bool: true,
key: 939524095,
pos: 18446744073561321951,
length: 71725349863423,
prop: 18444310994424758272,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 555819297,
pos: 18446744035610665249,
length: 18446744073709551615,
prop: 15355022929519706111,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1785358849),
bool: true,
key: 4294967259,
pos: 18446744035762757428,
length: 18361689565036543,
prop: 17823875776802455552,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: I32(555819297),
bool: true,
key: 555819297,
pos: 2387225703656530209,
length: 2387225703656530209,
prop: 2387225703656530209,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151650303,
pos: 1441151880758495497,
length: 18374686479671623680,
prop: 18446744073709551607,
}),
},
SyncAll,
Handle {
site: 31,
target: 0,
container: 49,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 555819297,
pos: 2387225703656530209,
length: 2387225703656530209,
prop: 2387225703656530209,
}),
},
Handle {
site: 0,
target: 0,
container: 133,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 2039775,
pos: 159580160,
length: 648518344244199424,
prop: 18446744073701153590,
}),
},
SyncAll,
Undo {
site: 31,
op_len: 2,
},
],
)
}
#[test]
fn undo_tree_index() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(188430649),
bool: true,
key: 185273099,
pos: 18446744070374634251,
length: 795741901218843451,
prop: 795741901218843403,
}),
},
Handle {
site: 1,
target: 0,
container: 11,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 3654932953,
pos: 15697817505862638041,
length: 4035108562632563161,
prop: 3399988123389603733,
}),
},
SyncAll,
Handle {
site: 41,
target: 41,
container: 41,
action: Generic(GenericAction {
value: I32(690563369),
bool: true,
key: 188430649,
pos: 795741901218843403,
length: 795741901218843403,
prop: 2970615681721645323,
}),
},
Handle {
site: 128,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(185280777),
bool: true,
key: 185273099,
pos: 795741901218843403,
length: 15697590118234390529,
prop: 15697817505862638041,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(690563369),
bool: true,
key: 690563369,
pos: 2965947086361143593,
length: 2965947086361143593,
prop: 2965947086361143593,
}),
},
SyncAllUndo {
site: 43,
op_len: 2214581759,
},
],
)
}
#[test]
fn undo_tree_delete_delete() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4294913857,
pos: 18388060938407193507,
length: 9952409283403775,
prop: 18446744070941246465,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 555819297,
pos: 18446744073560727841,
length: 18446744073709551615,
prop: 2242545357995114495,
}),
},
Handle {
site: 120,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709027327,
length: 15355022929519706111,
prop: 18446744073709551523,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 707911479,
pos: 18446744073709551607,
length: 9583660007048690651,
prop: 18446744073564528789,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242792614430507007,
prop: 2242545357980376863,
}),
},
Handle {
site: 0,
target: 174,
container: 1,
action: Generic(GenericAction {
value: I32(-65536),
bool: true,
key: 4294967295,
pos: 15355022929519706111,
length: 2242545361753210787,
prop: 2305704159417671544,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4146737631,
pos: 15852670688344145919,
length: 10774017683553796411,
prop: 18446744073708985120,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242792614430507007,
prop: 2242545357980376863,
}),
},
Handle {
site: 0,
target: 0,
container: 133,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 2039775,
pos: 648518344252784640,
length: 18446744073701153590,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522156063),
bool: true,
key: 4294967295,
pos: 651061559686070271,
length: 21990232555519,
prop: 18444491174384238592,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1785341153),
bool: true,
key: 2207618455,
pos: 15420091632514445121,
length: 15852424397725860863,
prop: 6556963984818527145,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 555819297,
pos: 18446744073560727841,
length: 18446627525477007359,
prop: 18446462667452317695,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(527965983),
bool: true,
key: 4294967295,
pos: 651062616248025087,
length: 17870283321406127881,
prop: 18386970223563456899,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 892679477,
pos: 3834029160418063669,
length: 3834029160418063669,
prop: 3834029160418063669,
}),
},
SyncAllUndo {
site: 255,
op_len: 3,
},
],
)
}
#[test]
fn tree_undo_nested_map_tree_tree_meta() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(List),
bool: true,
key: 872415231,
pos: 18446744073561321951,
length: 71725349863423,
prop: 18444310994424758272,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4281287043,
pos: 3423861436305875967,
length: 18446744073694871551,
prop: 18446744073709551615,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4294913857,
pos: 18446515191345546147,
length: 18446744073709494271,
prop: 18446744073709551615,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(191)),
bool: true,
key: 4294967295,
pos: 18446744073709027327,
length: 15355022929519706111,
prop: 18446744073709551523,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 707911479,
pos: 18446744073709551607,
length: 9583660007048690651,
prop: 18446744073564528789,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242792614430507007,
prop: 10778762209893752607,
}),
},
Handle {
site: 1,
target: 4,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 255,
pos: 18446743004262694912,
length: 2387225703656530431,
prop: 18446744035610665249,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4146737631,
pos: 15852670688344145919,
length: 10774017683553796411,
prop: 18446744073708985120,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 4294967049,
pos: 1310719,
length: 18446744073575268352,
prop: 1729382256910270463,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 792822677,
pos: 9511556229955321855,
length: 18446744069951455023,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 31,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4160749567,
pos: 18446744073709551615,
length: 18446642734358855679,
prop: 18446744073709551615,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(List),
bool: true,
key: 939524095,
pos: 18446744073561321951,
length: 71725349863423,
prop: 18444310994424758272,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10778686051533659935,
length: 18446514557159839127,
prop: 18446515191345546147,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1785358849),
bool: true,
key: 4294967259,
pos: 18446744035762757427,
length: 18361689565036543,
prop: 17823875776802455552,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242546323825885183,
prop: 2242545357980376863,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 4294967049,
pos: 1310719,
length: 18446744073575268352,
prop: 1729382256910270463,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10779248702831402783,
length: 9485706711646962581,
prop: 2305843005721226239,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 522133279,
pos: 2242545357980376863,
length: 18446744073694814072,
prop: 18446744073705357311,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4294967295,
pos: 4313322543114092543,
length: 2347929015790075969,
prop: 18446744073709549403,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242546323825885183,
prop: 2242545357980376863,
}),
},
Handle {
site: 213,
target: 163,
container: 255,
action: Generic(GenericAction {
value: I32(527965983),
bool: true,
key: 4286691203,
pos: 2242545357980376863,
length: 10779248702831402783,
prop: 9485706711646962581,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242546323825885183,
prop: 2242545357980376863,
}),
},
SyncAllUndo {
site: 31,
op_len: 1,
},
],
)
}
#[test]
fn tree_undo_delete_and_create_exist_node() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(67108864),
bool: false,
key: 5120,
pos: 18374967954648273920,
length: 2244797026329624582,
prop: 18434758041542467359,
}),
},
Handle {
site: 4,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(0),
bool: false,
key: 0,
pos: 0,
length: 0,
prop: 18446521976655708160,
}),
},
Handle {
site: 126,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 3520188881,
pos: 6872316421537386961,
length: 6872316419617283935,
prop: 6872316419617283935,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(262144),
bool: false,
key: 20,
pos: 504122782800412436,
length: 2242554153559866112,
prop: 9511555592568334879,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(47),
bool: false,
key: 0,
pos: 0,
length: 4107282860161892352,
prop: 18390450177879048246,
}),
},
Handle {
site: 48,
target: 0,
container: 31,
action: Generic(GenericAction {
value: I32(520093696),
bool: false,
key: 0,
pos: 72349003438748113,
length: 72340172853149953,
prop: 6872316418034041089,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(47),
bool: false,
key: 0,
pos: 0,
length: 4107282860161892352,
prop: 18390450177879048246,
}),
},
Handle {
site: 48,
target: 0,
container: 31,
action: Generic(GenericAction {
value: I32(-256),
bool: true,
key: 335544319,
pos: 2115960832,
length: 72349003438748113,
prop: 72340172853149953,
}),
},
Undo {
site: 95,
op_len: 1600085855,
},
SyncAllUndo {
site: 128,
op_len: 4294967249,
},
Handle {
site: 131,
target: 31,
container: 39,
action: Generic(GenericAction {
value: I32(-714423189),
bool: true,
key: 1364283729,
pos: 18446744073709551441,
length: 14430449448537641246,
prop: 15132094744467078979,
}),
},
],
)
}
#[test]
fn tree_move_child_whose_parent_deleted() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(67108864),
bool: false,
key: 5120,
pos: 18374967954648273920,
length: 2244797026329624582,
prop: 18434758041542467359,
}),
},
SyncAll,
Handle {
site: 4,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(0),
bool: false,
key: 0,
pos: 0,
length: 0,
prop: 18446524175678963712,
}),
},
Handle {
site: 126,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 3520188881,
pos: 6872316421537386961,
length: 6872316419617283935,
prop: 6872316419617283935,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(262144),
bool: false,
key: 20,
pos: 504122782800412436,
length: 2242554153559866112,
prop: 9511555592568334879,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(0),
bool: false,
key: 0,
pos: 0,
length: 4107282860161892352,
prop: 18390450177879048246,
}),
},
Handle {
site: 49,
target: 0,
container: 31,
action: Generic(GenericAction {
value: I32(520093696),
bool: false,
key: 0,
pos: 15119096123158032849,
length: 15119095435963257297,
prop: 6872316420712079525,
}),
},
SyncAllUndo {
site: 95,
op_len: 1600085855,
},
SyncAll,
],
)
}
#[test]
fn tree_meta_unknown() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4294913857,
pos: 18446515191345546147,
length: 18446744073709494271,
prop: 18446744073709551615,
}),
},
Handle {
site: 31,
target: 31,
container: 120,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151587327,
pos: 1441151086189608713,
length: 18374686479671623680,
prop: 18446744073709551607,
}),
},
// Handle {
// site: 213,
// target: 163,
// container: 255,
// action: Generic(GenericAction {
// value: I32(527965983),
// bool: true,
// key: 4286691203,
// pos: 2242545357980376863,
// length: 10779248702831402783,
// prop: 3144638436309304213,
// }),
// },
// Handle {
// site: 31,
// target: 31,
// container: 31,
// action: Generic(GenericAction {
// value: I32(527965983),
// bool: true,
// key: 4294967295,
// pos: 651062616248025087,
// length: 17870283321406127881,
// prop: 18446744073709551615,
// }),
// },
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10779248702831402783,
length: 9485706711646962581,
prop: 18446743254173297663,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 4294967160,
pos: 18446744073709551615,
length: 18446744073709551615,
prop: 2242545357980377087,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(191)),
bool: true,
key: 4294967295,
pos: 18446744073709027327,
length: 15355022929519706111,
prop: 18446744073709551523,
}),
},
Handle {
site: 31,
target: 219,
container: 149,
action: Generic(GenericAction {
value: Container(Map),
bool: true,
key: 4281050111,
pos: 18383693675428577237,
length: 18446744073709551615,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 120,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709027327,
length: 15355022929519706111,
prop: 18446744073709551523,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(31)),
bool: true,
key: 3676249887,
pos: 4720819787047212437,
length: 18446744069448138543,
prop: 18387634328600313855,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 522133503,
pos: 2242545357980415007,
length: 18446496818752593695,
prop: 720575940379279359,
}),
},
Handle {
site: 31,
target: 234,
container: 31,
action: Generic(GenericAction {
value: I32(522140447),
bool: true,
key: 522133279,
pos: 18446496818752593695,
length: 18446744073709551615,
prop: 18446743017147596799,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4281287043,
pos: 18388150188524151807,
length: 18446744073694871551,
prop: 18446744073709551615,
}),
},
SyncAll,
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 792822677,
pos: 9511556229955321855,
length: 18446744069951455023,
prop: 18446744073709551615,
}),
},
Handle {
site: 31,
target: 31,
container: 31,
action: Generic(GenericAction {
value: I32(527965983),
bool: true,
key: 4294967295,
pos: 651062616248025087,
length: 17870283321406127881,
prop: 18446744073709551615,
}),
},
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 31,
pos: 15795822638653211523,
length: 18446744073709551487,
prop: 18446744073709551615,
}),
},
Undo {
site: 31,
op_len: 7,
},
],
)
}
#[test]
fn tree_small_issue() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 63,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1761484928),
bool: false,
key: 513,
pos: 2341377969152,
length: 18380315979205849600,
prop: 4251405740540952575,
}),
},
Handle {
site: 10,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(40528415),
bool: false,
key: 3238038528,
pos: 0,
length: 0,
prop: 18446744073692774400,
}),
},
SyncAll,
Handle {
site: 33,
target: 2,
container: 0,
action: Generic(GenericAction {
value: I32(335577214),
bool: true,
key: 16777215,
pos: 2836986853897275135,
length: 7667975533558178817,
prop: 10746995183846424578,
}),
},
SyncAllUndo {
site: 155,
op_len: 2610666395,
},
SyncAllUndo {
site: 155,
op_len: 2610666395,
},
Checkout {
site: 155,
to: 2610666296,
},
SyncAll,
],
)
}
#[test]
fn tree_remap() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 0,
target: 1,
container: 0,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 4294913857,
pos: 18388060938407193507,
length: 9952409283403775,
prop: 18446744070941246465,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1785358849),
bool: true,
key: 4294967259,
pos: 18446744035762757431,
length: 18361689565036543,
prop: 17823875776802455552,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(Counter),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242792614430507007,
prop: 2242545357980376863,
}),
},
Handle {
site: 120,
target: 31,
container: 59,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10778687951896697631,
length: 18386970223563456899,
prop: 18383693675428577237,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: false,
key: 4146737631,
pos: 15852670688344145919,
length: 10774017683553796411,
prop: 18446744073708985120,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242546323825885183,
prop: 2242545357980376863,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 4294967049,
pos: 15263775559043514367,
length: 15263776468834178003,
prop: 15263776468834178003,
}),
},
Handle {
site: 0,
target: 0,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 3575119871,
pos: 2242545361753210787,
length: 2305704159417671544,
prop: 2242545357980376863,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 892679477,
pos: 3834029160418063669,
length: 3834029160418063669,
prop: 3834029160418063669,
}),
},
Handle {
site: 120,
target: 31,
container: 59,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 522133279,
pos: 10779248702819588895,
length: 3144638436309304213,
prop: 2305842113780110847,
}),
},
// SyncAll,
Handle {
site: 33,
target: 33,
container: 33,
action: Generic(GenericAction {
value: I32(555819297),
bool: true,
key: 555819297,
pos: 2387225703656530209,
length: 2387225703656530209,
prop: 2387225703656530209,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4146737631,
pos: 15852670688344145919,
length: 10774017683553796411,
prop: 18446744073708985120,
}),
},
Handle {
site: 0,
target: 0,
container: 131,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242546323825885183,
prop: 2242545357846159135,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 4294967049,
pos: 1310719,
length: 18446744073575268352,
prop: 1729382256910270463,
}),
},
Handle {
site: 255,
target: 255,
container: 31,
action: Generic(GenericAction {
value: I32(522133279),
bool: true,
key: 2015305503,
pos: 18446744073709494047,
length: 18446744073709551615,
prop: 18446744073709549567,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 792822677,
pos: 9511556229955321855,
length: 18446735273858432815,
prop: 18446744073709551615,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 555819297,
pos: 18446744073560727841,
length: 18446744073709551615,
prop: 15355022929519705906,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4146737631,
pos: 15852670688344145919,
length: 10774017683553796411,
prop: 18446744073708985120,
}),
},
SyncAll,
Handle {
site: 213,
target: 6,
container: 163,
action: Generic(GenericAction {
value: I32(2015305503),
bool: true,
key: 2176287547,
pos: 2242545357980377087,
length: 10922800942115921695,
prop: 11817444525671159189,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 707911475,
pos: 18446744073709551607,
length: 9583660007048690651,
prop: 18446744073564528789,
}),
},
SyncAllUndo {
site: 153,
op_len: 1,
},
],
)
}
#[test]
fn tree_metadata() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 219,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Text),
bool: true,
key: 12395099,
pos: 3298534883477,
length: 3834868070660322304,
prop: 504403158252466996,
}),
},
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Tree),
bool: true,
key: 2913840557,
pos: 3765062388551930802,
length: 12514849900987264429,
prop: 12514849905282231725,
}),
},
SyncAll,
Handle {
site: 31,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151587081,
pos: 18444492273895866367,
length: 18446744073709551615,
prop: 2242545357995114495,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 2242792614424466711,
prop: 10749528904694701855,
}),
},
Handle {
site: 31,
target: 31,
container: 120,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294904319,
pos: 18446744073709551615,
length: 2267596630907625247,
prop: 18446744073709551391,
}),
},
SyncAll,
Handle {
site: 95,
target: 120,
container: 31,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294967295,
pos: 3423861436305055519,
length: 18410858213187518463,
prop: 12214771541103083519,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294967295,
pos: 18446744073169868799,
length: 18446496843029282815,
prop: 4035224870267125759,
}),
},
SyncAllUndo {
site: 65,
op_len: 2751463215,
},
],
)
}
#[test]
fn tree_metadata2() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 171,
target: 255,
container: 255,
action: Generic(GenericAction {
value: I32(50529161),
bool: true,
key: 2769155,
pos: 416717214419337,
length: 4412750447665283201,
prop: 3544668469065809725,
}),
},
SyncAll,
Handle {
site: 161,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 4294967067,
pos: 3544677320168046591,
length: 4412750542920560945,
prop: 4268729913046809901,
}),
},
Handle {
site: 3,
target: 3,
container: 3,
action: Generic(GenericAction {
value: I32(707430793),
bool: true,
key: 4278387587,
pos: 1099511627775,
length: 9354488261646483456,
prop: 13114482111674842904,
}),
},
Handle {
site: 3,
target: 7,
container: 255,
action: Generic(GenericAction {
value: I32(-85),
bool: true,
key: 59310721,
pos: 9871936841907897091,
length: 9295431258694322569,
prop: 4412750542749796608,
}),
},
SyncAll,
Handle {
site: 7,
target: 7,
container: 7,
action: Generic(GenericAction {
value: I32(2071690235),
bool: true,
key: 125533051,
pos: 506381209866404351,
length: 10055130593152665351,
prop: 506381210470516487,
}),
},
Handle {
site: 7,
target: 7,
container: 7,
action: Generic(GenericAction {
value: I32(511),
bool: false,
key: 16842752,
pos: 506381209866536706,
length: 8897841259083463547,
prop: 18446742995706251131,
}),
},
Handle {
site: 7,
target: 7,
container: 7,
action: Generic(GenericAction {
value: I32(84016903),
bool: true,
key: 4294967295,
pos: 144680349937371135,
length: 4702111234470772735,
prop: 2821266740684990247,
}),
},
Handle {
site: 7,
target: 7,
container: 7,
action: Generic(GenericAction {
value: Container(MovableList),
bool: true,
key: 4278680443,
pos: 18446470325496907009,
length: 18446744073709551615,
prop: 18446744073709551615,
}),
},
SyncAll,
Undo {
site: 123,
op_len: 125533051,
},
],
)
}
#[test]
fn tree_unknown2() {
test_multi_sites(
5,
vec![FuzzTarget::Tree],
&mut [
Handle {
site: 16,
target: 16,
container: 16,
action: Generic(GenericAction {
value: I32(1406210064),
bool: true,
key: 2036949345,
pos: 7017023257055951225,
length: 18446689516373762401,
prop: 14073748835532799,
}),
},
Handle {
site: 127,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(858993414),
bool: true,
key: 858989363,
pos: 18445899653105791795,
length: 7161677112984928256,
prop: 7161677110969590627,
}),
},
Handle {
site: 39,
target: 39,
container: 39,
action: Generic(GenericAction {
value: I32(1736337255),
bool: true,
key: 1734829927,
pos: 7451037802321897319,
length: 7451037802321897319,
prop: 7593457517697918823,
}),
},
Handle {
site: 255,
target: 255,
container: 255,
action: Generic(GenericAction {
value: Container(List),
bool: true,
key: 1734829927,
pos: 7451037802321897319,
length: 7451037802321897319,
prop: 7451037802321897319,
}),
},
Handle {
site: 253,
target: 90,
container: 255,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 151584859,
pos: 18377384225446139657,
length: 18446744073709551615,
prop: 651061518279901183,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1),
bool: true,
key: 4294967073,
pos: 18446744073709551615,
length: 12515980216187859455,
prop: 12803080277138976173,
}),
},
Handle {
site: 33,
target: 0,
container: 0,
action: Generic(GenericAction {
value: Container(Unknown(149)),
bool: true,
key: 906007957,
pos: 18446740938383457883,
length: 651216092122841087,
prop: 10778686051163116296,
}),
},
SyncAll,
Handle {
site: 126,
target: 0,
container: 57,
action: Generic(GenericAction {
value: Container(Unknown(31)),
bool: true,
key: 2913840557,
pos: 18446744073709530541,
length: 10779094167544945663,
prop: 18446744069575382498,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 0,
action: Generic(GenericAction {
value: I32(-1780744198),
bool: true,
key: 906007957,
pos: 18446740938383457883,
length: 12514849901059768319,
prop: 12804210592272199085,
}),
},
SyncAll,
Handle {
site: 0,
target: 0,
container: 255,
action: Generic(GenericAction {
value: Container(Tree),
bool: false,
key: 8280886,
pos: 18446744073709364736,
length: 653875205807379938,
prop: 10922803139972553481,
}),
},
Handle {
site: 0,
target: 255,
container: 23,
action: Generic(GenericAction {
value: Container(Text),
bool: false,
key: 32347,
pos: 18446744073709550886,
length: 18446499982128185343,
prop: 18446744073709551615,
}),
},
Handle {
site: 0,
target: 0,
container: 255,
action: Generic(GenericAction {
value: Container(Tree),
bool: false,
key: 8280886,
pos: 18446744073709364736,
length: 6201284396160482,
prop: 653866370898853888,
}),
},
Handle {
site: 35,
target: 35,
container: 35,
action: Generic(GenericAction {
value: I32(589505315),
bool: true,
key: 2516450303,
pos: 9456393277067466133,
length: 18377229688873023266,
prop: 18446744073709551615,
}),
},
Undo {
site: 103,
op_len: 1734829927,
},
Undo {
site: 0,
op_len: 151587081,
},
],
)
}
#[test]
fn tree_parent_remap() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 454761243,
pos: 1953184666628070171,
length: 1953184666628070171,
prop: 1953184666627808027,
}),
},
Handle {
site: 65,
target: 17,
container: 255,
action: Generic(GenericAction {
value: I32(0),
bool: false,
key: 286326784,
pos: 1229782938247303679,
length: 1229782938247303441,
prop: 1085667750171447569,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4294967295,
pos: 18446744073709551615,
length: 18446744073709551615,
prop: 18446744073709551615,
}),
},
Handle {
site: 21,
target: 17,
container: 9,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 286338065,
pos: 1229782938247303441,
length: 1229782938247303441,
prop: 1229782938247303441,
}),
},
Handle {
site: 21,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(286331153),
bool: true,
key: 85004561,
pos: 1229782938247303434,
length: 4398046449985,
prop: 1229764173248856064,
}),
},
SyncAll,
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(-286624495),
bool: false,
key: 4008636142,
pos: 1229782938247303441,
length: 4369,
prop: 1229782938247303424,
}),
},
Handle {
site: 17,
target: 17,
container: 17,
action: Generic(GenericAction {
value: I32(355537169),
bool: true,
key: 286331153,
pos: 1229782938247303441,
length: 17654171012985520128,
prop: 1229782938346782730,
}),
},
SyncAllUndo {
site: 25,
op_len: 421112089,
},
],
)
}
#[test]
fn tree_undo_sort_index() {
test_multi_sites(
5,
vec![FuzzTarget::All],
&mut [
Handle {
site: 187,
target: 122,
container: 36,
action: Generic(GenericAction {
value: Container(Unknown(255)),
bool: true,
key: 4287627263,
pos: 4902828863,
length: 9335720388467884032,
prop: 226866784668584321,
}),
},
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761243),
bool: true,
key: 2812782503,
pos: 12080808863958804391,
length: 12058485138819360679,
prop: 12080808863958804391,
}),
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454761434),
bool: true,
key: 454761243,
pos: 1953184666628070171,
length: 144115188075855871,
prop: 4557431447142210354,
}),
},
Handle {
site: 93,
target: 52,
container: 27,
action: Generic(GenericAction {
value: I32(1061109567),
bool: true,
key: 1061109567,
pos: 1953184666628079423,
length: 1953184666628070171,
prop: 12080808260305368626,
}),
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
Handle {
site: 27,
target: 27,
container: 27,
action: Generic(GenericAction {
value: I32(454810139),
bool: true,
key: 454761243,
pos: 1953184666628070171,
length: 18446744073709551387,
prop: 4557573824704098817,
}),
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
SyncAllUndo {
site: 167,
op_len: 2812782503,
},
],
)
}
#[test]
fn minify() {
minify_simple(
5,
|n, actions| test_multi_sites(n, vec![FuzzTarget::Tree], actions),
|_, actions| actions.to_vec(),
vec![],
);
}