Skip to content

Commit 7e3e24e

Browse files
committed
wip
1 parent 888ee44 commit 7e3e24e

1 file changed

Lines changed: 33 additions & 12 deletions

File tree

crates/vite_global_cli/src/commands/implode.rs

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -490,8 +490,25 @@ mod tests {
490490

491491
use super::*;
492492

493+
fn test_absolute_path(posix: &str, windows: &str) -> AbsolutePathBuf {
494+
let path = if cfg!(windows) { windows } else { posix };
495+
AbsolutePathBuf::new(path.into()).unwrap()
496+
}
497+
498+
fn default_user_home() -> AbsolutePathBuf {
499+
test_absolute_path("/home/user", r"C:\Users\user")
500+
}
501+
502+
fn custom_user_home() -> AbsolutePathBuf {
503+
test_absolute_path("/Users/test", r"C:\Users\test")
504+
}
505+
506+
fn shell_path(path: &AbsolutePathBuf) -> Str {
507+
normalize_path_separators(&path.as_path().display().to_string())
508+
}
509+
493510
fn default_source_matcher() -> VitePlusSourceMatcher {
494-
let user_home = AbsolutePathBuf::new("/home/user".into()).unwrap();
511+
let user_home = default_user_home();
495512
let home_dir = user_home.join(".vite-plus");
496513
VitePlusSourceMatcher::new(&home_dir, &user_home)
497514
}
@@ -521,26 +538,30 @@ mod tests {
521538

522539
#[test]
523540
fn test_remove_vite_plus_lines_absolute_path() {
524-
let matcher = default_source_matcher();
525-
let content = "# existing\n. \"/home/user/.vite-plus/env\"\n";
526-
let result = remove_vite_plus_lines(content, &matcher, "env");
541+
let user_home = default_user_home();
542+
let home_dir = user_home.join(".vite-plus");
543+
let matcher = source_matcher_for(&home_dir, &user_home);
544+
let env_path = shell_path(&home_dir.join("env"));
545+
let content = vite_str::format!("# existing\n. \"{env_path}\"\n");
546+
let result = remove_vite_plus_lines(&content, &matcher, "env");
527547
assert_eq!(&*result, "# existing\n");
528548
}
529549

530550
#[test]
531551
fn test_remove_vite_plus_lines_custom_absolute_path() {
532-
let user_home = AbsolutePathBuf::new("/Users/test".into()).unwrap();
533-
let home_dir = user_home.join("tools/vp");
552+
let user_home = custom_user_home();
553+
let home_dir = user_home.join("tools").join("vp");
534554
let matcher = source_matcher_for(&home_dir, &user_home);
535-
let content = "# existing\n. \"/Users/test/tools/vp/env\"\n";
536-
let result = remove_vite_plus_lines(content, &matcher, "env");
555+
let env_path = shell_path(&home_dir.join("env"));
556+
let content = vite_str::format!("# existing\n. \"{env_path}\"\n");
557+
let result = remove_vite_plus_lines(&content, &matcher, "env");
537558
assert_eq!(&*result, "# existing\n");
538559
}
539560

540561
#[test]
541562
fn test_remove_vite_plus_lines_custom_home_relative_path() {
542-
let user_home = AbsolutePathBuf::new("/Users/test".into()).unwrap();
543-
let home_dir = user_home.join("tools/vp");
563+
let user_home = custom_user_home();
564+
let home_dir = user_home.join("tools").join("vp");
544565
let matcher = source_matcher_for(&home_dir, &user_home);
545566
let content = "# existing\n. \"$HOME/tools/vp/env\"\n";
546567
let result = remove_vite_plus_lines(content, &matcher, "env");
@@ -549,8 +570,8 @@ mod tests {
549570

550571
#[test]
551572
fn test_remove_vite_plus_lines_custom_tilde_path() {
552-
let user_home = AbsolutePathBuf::new("/Users/test".into()).unwrap();
553-
let home_dir = user_home.join("tools/vp");
573+
let user_home = custom_user_home();
574+
let home_dir = user_home.join("tools").join("vp");
554575
let matcher = source_matcher_for(&home_dir, &user_home);
555576
let content = "# existing\nsource '~/tools/vp/env.nu'\n";
556577
let result = remove_vite_plus_lines(content, &matcher, "env.nu");

0 commit comments

Comments
 (0)