Download Manager Functionality Testing
Ben Goodger - 11/26/2003Core Functionality
Downloading Files-
1. Click a link in the browser to download a file
2. Right click a link and choose "Save Target As"
3. Drag a link onto the Download Manager window
The file should be downloaded. Depending on the state of options (see below) the Download Manager may appear. If the download occurs in less than 2 seconds (e.g. if the document has been cached on disk) the Download Manager should not appear, regardless of options. This is to streamline operations like "Save Image As...". When complete, on Windows an alert should appear at the bottom right of the screen.
Options
"Show Download Manager when a download begins" - Controls whether or not the download manager appears at the start of a download.
"Close the Download Manager when downloads complete" - When all downloads are complete, the download manager window should be closed (like the old progress dialogs).
Clear the Download List When - - Download Successfully Completed, Firefox Exits, or Manually. In the first case download entries are removed from the list when the download completes successfully... but not when they are canceled or fail. In the second scenario the list is purged when the browser is shut down. In the final scenario the list is never purged unless the user does so.
Management
Manager Window - shows a list of downloads, active and inactive. New downloads should fade in as they begin transferring.
Pause/Resume - active downloads can be paused/resumed within the current session. (download item link, context menu, space bar)
Cancel - active downloads can be canceled (download item link, context menu)
Retry - failed downloads can be re-downloaded (double clicking, context menu)
Remove - failed and completed downloads can be removed from the list (delete key, context menu)
Show - completed downloads can be revealed in the native file system shell (download item link, context menu)
Open - completed downloads can be opened in the native environment (by double clicking, context menu)
Clean Up - the "Clean Up" button (Alt+N) removes all completed, canceled and failed downloads from the list. The Clean Up command and its associated button should only be enabled if there are non-active downloads present.
Error Checking - the download list should not become corrupted or contain bad entries. Error checking is performed on the list before the downloads datasource is flushed to disk.
Options - the Options button should show the Download Options panel in the Options window. This setting does not cause the "panel memory" of the main preferences panel to shift to that of the Downloads panel.
Progress
Progress Bar - each active download item has a progress bar that shows the current percentage complete.
Progress Text - each active download item has a text area below the progress bar that shows the portion of the file that has downloaded, and the total amount to download. Amounts less than 1MB are presented in KB, amounts greater than 1MB are shown in MB. The transfer rate is also shown, if the download is not paused.
Title Bar - an average complete percentage is shown in the download manager title bar along with the number of active downloads. This is modified as new downloads are added and active downloads complete.
Completion Notification - when all downloads are complete a mail-biff style notification appears in the bottom right of the screen (Windows). The link in the notification is clickable if the completed downloads are still present in the download manager list, that is, if the retention policy is not set to "Remove upon successful download".
Other Functionality
Exiting - when the application is quit either by File->Exit or by the user closing all windows, if there are active downloads the user should be warned with a dialog (parented to the download manager, if it is open, to some other window if it is not) that shows the number of downloads that will be canceled. If the user chooses to cancel the quit, the quit command is aborted and the application remains open so the downloads can complete.