Add current page download pipeline
This commit is contained in:
@@ -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()?)?;
|
||||
|
||||
Reference in New Issue
Block a user