Add current page download pipeline

This commit is contained in:
2026-05-09 12:54:24 -04:00
parent 1faa7423c1
commit 189b9b8b89
17 changed files with 842 additions and 13 deletions
+16
View File
@@ -66,6 +66,22 @@ fn open_downloads_command_opens_downloads_page() -> Result<(), Box<dyn Error>> {
Ok(())
}
#[test]
fn download_current_page_command_keeps_active_tab_for_shell_download() -> Result<(), Box<dyn Error>>
{
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
let active_tab_id = core.active_tab()?.id().clone();
core.set_command_query(">download-current-page");
let intent = core.submit_command()?;
let snapshot = core.snapshot()?;
assert_eq!(intent, Some(CommandIntent::Command("download-current-page".to_string())));
assert_eq!(snapshot.active_tab_id, active_tab_id);
assert_eq!(snapshot.command_query, "");
Ok(())
}
#[test]
fn open_history_command_opens_history_page() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
@@ -91,6 +91,25 @@ fn controls_download_lifecycle() -> Result<(), Box<dyn Error>> {
Ok(())
}
#[test]
fn records_prompted_download_target_path() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
let target_path = Path::new("/tmp/ely-prompted-download/report.pdf");
let download_id = core.record_download_started_at_path(
UrlText::parse("https://example.com/report.pdf")?,
target_path,
None,
)?;
let entry = active_download(&core)?;
assert_eq!(entry.id(), &download_id);
assert_eq!(entry.file_name(), "report.pdf");
assert_eq!(entry.destination(), &DownloadDestination::AskEveryTime);
assert_eq!(entry.target_file_path(), Some(target_path));
Ok(())
}
#[test]
fn records_checksum_after_download_completion() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;