mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
Refactor CI documentation and improve change processing logic
- Updated CI documentation to enforce running the full suite without skipping the rbx-dom section, clarifying the execution steps. - Refactored `change_processor.rs` for improved readability by enhancing formatting and structure in name deduplication logic. - Cleaned up imports in `project.rs` and improved formatting in `file_names.rs` to enhance code clarity and maintainability. - Adjusted test assertions in `two_way_sync.rs` for better readability and consistency in checking file existence after renaming operations.
This commit is contained in:
parent
095e78dff2
commit
434a3c458a
5 changed files with 81 additions and 43 deletions
|
|
@ -2407,13 +2407,19 @@ mod tests {
|
|||
// (filename, needs_meta, dedup_key) via name_for_inst
|
||||
let mut dom = rbx_dom_weak::WeakDom::new(rbx_dom_weak::InstanceBuilder::new("Folder"));
|
||||
let root_ref = dom.root_ref();
|
||||
let child = dom.insert(root_ref, rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name("Hey/Bro"));
|
||||
let child = dom.insert(
|
||||
root_ref,
|
||||
rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name("Hey/Bro"),
|
||||
);
|
||||
let inst = dom.get_by_ref(child).unwrap();
|
||||
let taken = std::collections::HashSet::new();
|
||||
let (filename, needs_meta, dedup_key) = name_for_inst(
|
||||
crate::snapshot_middleware::Middleware::ModuleScript,
|
||||
inst, None, &taken,
|
||||
).unwrap();
|
||||
inst,
|
||||
None,
|
||||
&taken,
|
||||
)
|
||||
.unwrap();
|
||||
assert_eq!(filename.as_ref(), "Hey_Bro.luau");
|
||||
assert!(needs_meta);
|
||||
assert_eq!(dedup_key, "Hey_Bro");
|
||||
|
|
@ -2423,21 +2429,33 @@ mod tests {
|
|||
fn syncback_collision_deduplicates() {
|
||||
let mut dom = rbx_dom_weak::WeakDom::new(rbx_dom_weak::InstanceBuilder::new("Folder"));
|
||||
let root_ref = dom.root_ref();
|
||||
let child1 = dom.insert(root_ref, rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name("A/B"));
|
||||
let child2 = dom.insert(root_ref, rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name("A:B"));
|
||||
let child1 = dom.insert(
|
||||
root_ref,
|
||||
rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name("A/B"),
|
||||
);
|
||||
let child2 = dom.insert(
|
||||
root_ref,
|
||||
rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name("A:B"),
|
||||
);
|
||||
let inst1 = dom.get_by_ref(child1).unwrap();
|
||||
let inst2 = dom.get_by_ref(child2).unwrap();
|
||||
|
||||
let mut taken = std::collections::HashSet::new();
|
||||
let (f1, m1, dk1) = name_for_inst(
|
||||
crate::snapshot_middleware::Middleware::ModuleScript,
|
||||
inst1, None, &taken,
|
||||
).unwrap();
|
||||
inst1,
|
||||
None,
|
||||
&taken,
|
||||
)
|
||||
.unwrap();
|
||||
taken.insert(dk1.to_lowercase());
|
||||
let (f2, m2, dk2) = name_for_inst(
|
||||
crate::snapshot_middleware::Middleware::ModuleScript,
|
||||
inst2, None, &taken,
|
||||
).unwrap();
|
||||
inst2,
|
||||
None,
|
||||
&taken,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(f1.as_ref(), "A_B.luau");
|
||||
assert!(m1);
|
||||
|
|
@ -2455,22 +2473,35 @@ mod tests {
|
|||
|
||||
let mut dom = rbx_dom_weak::WeakDom::new(rbx_dom_weak::InstanceBuilder::new("Folder"));
|
||||
let root = dom.root_ref();
|
||||
let refs: Vec<_> = names.iter().map(|n|
|
||||
dom.insert(root, rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name(*n))
|
||||
).collect();
|
||||
let refs: Vec<_> = names
|
||||
.iter()
|
||||
.map(|n| {
|
||||
dom.insert(
|
||||
root,
|
||||
rbx_dom_weak::InstanceBuilder::new("ModuleScript").with_name(*n),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
|
||||
let run = |dom: &rbx_dom_weak::WeakDom, refs: &[rbx_dom_weak::types::Ref]| -> Vec<(String, bool, String)> {
|
||||
let run = |dom: &rbx_dom_weak::WeakDom,
|
||||
refs: &[rbx_dom_weak::types::Ref]|
|
||||
-> Vec<(String, bool, String)> {
|
||||
let mut taken = std::collections::HashSet::new();
|
||||
refs.iter().map(|r| {
|
||||
let inst = dom.get_by_ref(*r).unwrap();
|
||||
let (f, m, dk) = name_for_inst(mw, inst, None, &taken).unwrap();
|
||||
taken.insert(dk.to_lowercase());
|
||||
(f.into_owned(), m, dk)
|
||||
}).collect()
|
||||
refs.iter()
|
||||
.map(|r| {
|
||||
let inst = dom.get_by_ref(*r).unwrap();
|
||||
let (f, m, dk) = name_for_inst(mw, inst, None, &taken).unwrap();
|
||||
taken.insert(dk.to_lowercase());
|
||||
(f.into_owned(), m, dk)
|
||||
})
|
||||
.collect()
|
||||
};
|
||||
|
||||
let result1 = run(&dom, &refs);
|
||||
let result2 = run(&dom, &refs);
|
||||
assert_eq!(result1, result2, "Two runs of name_for_inst must produce identical output");
|
||||
assert_eq!(
|
||||
result1, result2,
|
||||
"Two runs of name_for_inst must produce identical output"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue