Merge pull request #827 from Demonthos/fix-bfs-ordering

This commit is contained in:
Jon Kelley 2023-02-13 09:36:23 -08:00 committed by GitHub
commit 1aaff40bcd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -25,8 +25,8 @@ fn sort_bfs(paths: &[&'static [u8]]) -> Vec<(usize, &'static [u8])> {
} }
} }
// The shorter path goes first // The shorter path goes first
(Some(_), None) => return std::cmp::Ordering::Less, (None, Some(_)) => return std::cmp::Ordering::Less,
(None, Some(_)) => return std::cmp::Ordering::Greater, (Some(_), None) => return std::cmp::Ordering::Greater,
(None, None) => return std::cmp::Ordering::Equal, (None, None) => return std::cmp::Ordering::Equal,
} }
} }
@ -40,14 +40,25 @@ fn sorting() {
(0, &[0, 1]), (0, &[0, 1]),
(1, &[0, 2]), (1, &[0, 2]),
(2, &[1, 0]), (2, &[1, 0]),
(4, &[1, 1]), (3, &[1, 0, 1]),
(3, &[1, 2]), (4, &[1, 2]),
]; ];
assert_eq!( assert_eq!(
sort_bfs(&[&[0, 1,], &[0, 2,], &[1, 0,], &[1, 2,], &[1, 1,],]), sort_bfs(&[&[0, 1,], &[0, 2,], &[1, 0,], &[1, 0, 1,], &[1, 2,],]),
r
);
let r: [(usize, &[u8]); 6] = [
(0, &[0]),
(1, &[0, 1]),
(2, &[0, 1, 2]),
(3, &[1]),
(4, &[1, 2]),
(5, &[2]),
];
assert_eq!(
sort_bfs(&[&[0], &[0, 1], &[0, 1, 2], &[1], &[1, 2], &[2],]),
r r
); );
assert!(matches!(&[0], &[_, ..]))
} }
impl<'b> VirtualDom { impl<'b> VirtualDom {