fix: handle local mindmap trash and block insertion
This commit is contained in:
@@ -4309,8 +4309,9 @@ fn resolve_local_directory_id(root: &Path, entry_id: &str) -> Result<Option<Path
|
||||
fn resolve_local_raw_file_id(root: &Path, entry_id: &str) -> Result<Option<PathBuf>, WebError> {
|
||||
let trimmed = entry_id.trim();
|
||||
let Some(relative_path) = trimmed
|
||||
.strip_prefix("local:node:")
|
||||
.strip_prefix("local-file:")
|
||||
.or_else(|| trimmed.strip_prefix("local:asset:"))
|
||||
.or_else(|| trimmed.strip_prefix("local:node:"))
|
||||
else {
|
||||
return Ok(None);
|
||||
};
|
||||
@@ -7675,6 +7676,37 @@ fn main() {}
|
||||
let _ = std::fs::remove_dir_all(&root);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn local_tree_command_delete_local_file_id_uses_trash_index() {
|
||||
let root = temp_root("mnote-local-delete-local-file-id");
|
||||
init_workspace(&root);
|
||||
std::fs::create_dir_all(root.join("docs")).expect("create docs");
|
||||
std::fs::write(root.join("docs").join("photo.png"), b"png").expect("write asset");
|
||||
let root_uri = format!("file://{}", root.display());
|
||||
|
||||
let result = execute_local_tree_command(
|
||||
&root_uri,
|
||||
"delete",
|
||||
"local-file:docs/photo.png",
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.expect("delete local-file asset");
|
||||
|
||||
assert_eq!(result["resourceKind"].as_str(), Some("local_file"));
|
||||
assert_eq!(
|
||||
result["trashEntryId"].as_str(),
|
||||
Some("local-file:docs/photo.png")
|
||||
);
|
||||
assert!(!root.join("docs").join("photo.png").exists());
|
||||
assert!(root.join(".mnote").join("trash").join("photo.png").exists());
|
||||
let trash_index = std::fs::read_to_string(root.join(".mnote").join("trash-index.json"))
|
||||
.expect("trash index");
|
||||
assert!(trash_index.contains("local-file:docs/photo.png"));
|
||||
|
||||
let _ = std::fs::remove_dir_all(&root);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn local_markdown_save_refreshes_search_index_after_write() {
|
||||
let root = temp_root("mnote-local-save-refresh-search-index");
|
||||
|
||||
Reference in New Issue
Block a user