Add task manager internal page
This commit is contained in:
@@ -21,6 +21,7 @@ fn internal_page_title(url: &str) -> Option<&'static str> {
|
||||
"ely://downloads" => Some("Downloads"),
|
||||
"ely://history" => Some("History"),
|
||||
"ely://archive" => Some("Archived Tabs"),
|
||||
"ely://task-manager" => Some("Task Manager"),
|
||||
"ely://about" => Some("About ELY Browser"),
|
||||
"ely://settings" => Some("Settings"),
|
||||
"ely://settings/plugins" => Some("Plugin Settings"),
|
||||
@@ -98,6 +99,10 @@ pub(crate) fn history_url() -> Result<UrlText, CoreError> {
|
||||
internal_page_url("ely://history")
|
||||
}
|
||||
|
||||
pub(crate) fn task_manager_url() -> Result<UrlText, CoreError> {
|
||||
internal_page_url("ely://task-manager")
|
||||
}
|
||||
|
||||
pub(crate) fn about_url() -> Result<UrlText, CoreError> {
|
||||
internal_page_url("ely://about")
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ use crate::{
|
||||
navigation::{
|
||||
about_url, bookmarks_url, downloads_url, history_url, move_tab_space_name,
|
||||
new_profile_name, new_space_name, reading_list_url, search_url, settings_page_url,
|
||||
settings_url, space_icon, switch_profile_name, sync_status_url,
|
||||
settings_url, space_icon, switch_profile_name, sync_status_url, task_manager_url,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -126,6 +126,10 @@ impl BrowserCore {
|
||||
self.open_tab(history_url()?);
|
||||
Ok(true)
|
||||
}
|
||||
"task-manager" | "tasks" | "open-task-manager" | "open task manager" => {
|
||||
self.open_tab(task_manager_url()?);
|
||||
Ok(true)
|
||||
}
|
||||
"about" | "open-about" | "open about" => {
|
||||
self.open_tab(about_url()?);
|
||||
Ok(true)
|
||||
|
||||
@@ -81,6 +81,21 @@ fn open_history_command_opens_history_page() -> Result<(), Box<dyn Error>> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn open_task_manager_command_opens_task_manager_page() -> Result<(), Box<dyn Error>> {
|
||||
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
|
||||
|
||||
core.set_command_query(">open-task-manager");
|
||||
let intent = core.submit_command()?;
|
||||
let active_tab = core.active_tab()?;
|
||||
|
||||
assert_eq!(intent, Some(CommandIntent::Command("open-task-manager".to_string())));
|
||||
assert_eq!(active_tab.title(), "Task Manager");
|
||||
assert_eq!(active_tab.url().as_str(), "ely://task-manager");
|
||||
assert_eq!(core.snapshot()?.command_query, "");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn open_about_command_opens_about_page() -> Result<(), Box<dyn Error>> {
|
||||
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
|
||||
|
||||
Reference in New Issue
Block a user