Commit Servo loaded URLs to tabs

This commit is contained in:
2026-05-13 01:09:39 -04:00
parent 4cb7ff089e
commit 1325f043b4
8 changed files with 219 additions and 44 deletions
@@ -40,6 +40,34 @@ fn new_navigation_clears_forward_stack() -> Result<(), Box<dyn Error>> {
Ok(())
}
#[test]
fn observed_loaded_url_replaces_active_url_without_back_stack() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
let tab_id = core.active_tab()?.id().clone();
assert!(core.replace_tab_loaded_url(&tab_id, UrlText::parse("https://example.com/")?)?);
assert_eq!(core.active_tab()?.url().as_str(), "https://example.com/");
assert!(!core.active_tab()?.can_navigate_back());
assert!(!core.active_tab()?.can_navigate_forward());
Ok(())
}
#[test]
fn user_loaded_url_enters_active_back_stack() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;
core.navigate_active_tab(UrlText::parse("https://example.com/a")?)?;
let tab_id = core.active_tab()?.id().clone();
assert!(core.navigate_tab_to_loaded_url(&tab_id, UrlText::parse("https://example.com/b")?)?);
assert_eq!(core.active_tab()?.url().as_str(), "https://example.com/b");
assert!(core.active_tab()?.can_navigate_back());
assert!(core.navigate_active_tab_back()?);
assert_eq!(core.active_tab()?.url().as_str(), "https://example.com/a");
Ok(())
}
#[test]
fn empty_history_navigation_keeps_active_url() -> Result<(), Box<dyn Error>> {
let mut core = BrowserCore::new(InitialBrowserConfig::ely_defaults()?)?;