diff options
| author | Mason Reed <mason@vector35.com> | 2025-06-22 18:59:34 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-07-02 01:56:54 -0400 |
| commit | cada23947c77320a7055dcb547cb7a6ea34267df (patch) | |
| tree | f20dd4ae3c2a0800adfbb1580e5ac2180c6be3b6 /rust | |
| parent | 619376a90c644e264c7b2930593b6116b0ed25a2 (diff) | |
[Rust] Remove redundant `Result` from `Project::folders`
Also make `Project::file_by_path` take a `Path`.
Diffstat (limited to 'rust')
| -rw-r--r-- | rust/src/project.rs | 12 | ||||
| -rw-r--r-- | rust/tests/project.rs | 12 |
2 files changed, 12 insertions, 12 deletions
diff --git a/rust/src/project.rs b/rust/src/project.rs index b6295f6b..e3159efc 100644 --- a/rust/src/project.rs +++ b/rust/src/project.rs @@ -3,6 +3,7 @@ pub mod folder; use std::ffi::c_void; use std::fmt::Debug; +use std::path::Path; use std::ptr::{null_mut, NonNull}; use std::time::{Duration, SystemTime, UNIX_EPOCH}; @@ -240,14 +241,11 @@ impl Project { } /// Get a list of folders in the project - pub fn folders(&self) -> Result<Array<ProjectFolder>, ()> { + pub fn folders(&self) -> Array<ProjectFolder> { let mut count = 0; let result = unsafe { BNProjectGetFolders(self.handle.as_ptr(), &mut count) }; - if result.is_null() { - return Err(()); - } - - Ok(unsafe { Array::new(result, count, ()) }) + assert!(!result.is_null()); + unsafe { Array::new(result, count, ()) } } /// Retrieve a folder in the project by unique folder `id` @@ -569,7 +567,7 @@ impl Project { } /// Retrieve a file in the project by the `path` on disk - pub fn file_by_path(&self, path: &str) -> Option<Ref<ProjectFile>> { + pub fn file_by_path(&self, path: &Path) -> Option<Ref<ProjectFile>> { let path_raw = path.to_cstr(); let result = unsafe { BNProjectGetFileByPathOnDisk(self.handle.as_ptr(), path_raw.as_ptr()) }; diff --git a/rust/tests/project.rs b/rust/tests/project.rs index 0b03e647..18676b2e 100644 --- a/rust/tests/project.rs +++ b/rust/tests/project.rs @@ -151,10 +151,10 @@ fn modify_project() { .create_folder(None, "deleted_folder", folder_4_desc) .unwrap(); - assert_eq!(project.folders().unwrap().len(), 5); + assert_eq!(project.folders().len(), 5); let last_folder = project.folder_by_id(&folder_5.id()).unwrap(); project.delete_folder(&last_folder).unwrap(); - assert_eq!(project.folders().unwrap().len(), 4); + assert_eq!(project.folders().len(), 4); drop(folder_5); // create, import and delete file @@ -246,7 +246,9 @@ fn modify_project() { assert_eq!(project.files().len(), 10); let file_a = project.file_by_id(&file_8.id()).unwrap(); - let file_b = project.file_by_path(&file_7.path_on_disk()).unwrap(); + let file_b = project + .file_by_path(&file_7.path_on_disk().unwrap()) + .unwrap(); project.delete_file(&file_a); project.delete_file(&file_b); assert_eq!(project.files().len(), 8); @@ -282,7 +284,7 @@ fn modify_project() { (&tmp_folder_1_name, None), (&tmp_folder_2_name, None), ]; - for folder in project.folders().unwrap().iter() { + for folder in project.folders().iter() { let found = folders .iter() .find(|f| folder.name().as_str() == f.0) @@ -329,7 +331,7 @@ fn modify_project() { .as_secs() ); } - let content = std::fs::read(file.path_on_disk().as_str()).unwrap(); + let content = std::fs::read(file.path_on_disk().unwrap()).unwrap(); assert_eq!(content, found.1); } |
