diff --git a/cli/cache/deno_dir.rs b/cli/cache/deno_dir.rs index 05de1cf7cc0482..88d8a31c04fc63 100644 --- a/cli/cache/deno_dir.rs +++ b/cli/cache/deno_dir.rs @@ -266,6 +266,12 @@ pub mod dirs { } pub fn home_dir() -> Option { + if let Some(userprofile) = std::env::var_os("USERPROFILE") { + if !userprofile.is_empty() { + return Some(PathBuf::from(userprofile)); + } + } + known_folder(&knownfolders::FOLDERID_Profile) } } diff --git a/tests/specs/npm/npmrc_homedir/__test__.jsonc b/tests/specs/npm/npmrc_homedir/__test__.jsonc index 26fce7fd8bcc62..fa993901b9aead 100644 --- a/tests/specs/npm/npmrc_homedir/__test__.jsonc +++ b/tests/specs/npm/npmrc_homedir/__test__.jsonc @@ -1,9 +1,9 @@ { - "if": "unix", "tempDir": true, "envs": { "DENO_FUTURE": "1", - "HOME": "$PWD/../" + "HOME": "$PWD/../", + "USERPROFILE": "$PWD\\..\\" }, "cwd": "subdir", "args": "install", diff --git a/tests/specs/npm/npmrc_not_next_to_package_json/__test__.jsonc b/tests/specs/npm/npmrc_not_next_to_package_json/__test__.jsonc index fa545c2902bf3a..8ba9ef00cc0e14 100644 --- a/tests/specs/npm/npmrc_not_next_to_package_json/__test__.jsonc +++ b/tests/specs/npm/npmrc_not_next_to_package_json/__test__.jsonc @@ -1,6 +1,7 @@ { "envs": { - "DENO_FUTURE": "1" + "DENO_FUTURE": "1", + "USERPROFILE": "$DENO_DIR" }, "tempDir": true, "args": "install -A -L debug", diff --git a/tests/util/server/src/lib.rs b/tests/util/server/src/lib.rs index a7f4fb44765336..d23fde0ddfad6d 100644 --- a/tests/util/server/src/lib.rs +++ b/tests/util/server/src/lib.rs @@ -750,12 +750,14 @@ pub fn wildcard_match_detailed( } None => { let was_wildcard_or_line = was_last_wildcard || was_last_wildline; - let mut max_found_index = 0; + let mut max_search_text_found_index = 0; + let mut max_current_text_found_index = 0; for (index, _) in search_text.char_indices() { let sub_string = &search_text[..index]; if let Some(found_index) = current_text.find(sub_string) { if was_wildcard_or_line || found_index == 0 { - max_found_index = index; + max_search_text_found_index = index; + max_current_text_found_index = found_index; } else { break; } @@ -763,11 +765,11 @@ pub fn wildcard_match_detailed( break; } } - if !was_wildcard_or_line && max_found_index > 0 { + if !was_wildcard_or_line && max_search_text_found_index > 0 { output_lines.push(format!( "{}", colors::gray(annotate_whitespace( - &search_text[..max_found_index] + &search_text[..max_search_text_found_index] )) )); } @@ -777,18 +779,19 @@ pub fn wildcard_match_detailed( if was_wildcard_or_line { search_text } else { - &search_text[max_found_index..] + &search_text[max_search_text_found_index..] }, ))); - if was_wildcard_or_line && max_found_index > 0 { + if was_wildcard_or_line && max_search_text_found_index > 0 { output_lines.push(format!( "==== MAX FOUND ====\n{}", colors::red(annotate_whitespace( - &search_text[..max_found_index] + &search_text[..max_search_text_found_index] )) )); } - let actual_next_text = ¤t_text[max_found_index..]; + let actual_next_text = + ¤t_text[max_current_text_found_index..]; let max_next_text_len = 40; let next_text_len = std::cmp::min(max_next_text_len, actual_next_text.len());