Merge pull request #508 from mnaza/fix/history-preserve-url-496

fix(js): keep the current URL when pushState/replaceState omit url
This commit is contained in:
SGavrl authored and GitHub committed 2026-08-01 17:12:59 +00:00
commit 31ac297a48
2 files changed
+26 -1

No files matched your search

+22
View File
@@ -1317,6 +1317,28 @@ mod tests {
rt
}
#[test]
fn replace_state_without_url_preserves_current_location() {
let mut rt = setup_runtime("<html><body></body></html>");
let path = rt
.evaluate(
"(function(){history.pushState({}, '', '/dashboard'); history.replaceState({scroll:1}); return location.pathname;})()",
)
.unwrap();
assert_eq!(path, serde_json::json!("/dashboard"));
}
#[test]
fn push_state_without_url_preserves_current_location() {
let mut rt = setup_runtime("<html><body></body></html>");
let path = rt
.evaluate(
"(function(){history.pushState({}, '', '/a'); history.pushState({b:1}); return location.pathname;})()",
)
.unwrap();
assert_eq!(path, serde_json::json!("/a"));
}
#[test]
fn test_document_title() {
let mut rt = setup_runtime("<html><head><title>Test</title></head><body></body></html>");