use std-rfc/path use std/assert use std/testing * @test def path_with_extension [] { let new_path = "ab.txt" | path with-extension "rs" assert equal $new_path "ab.rs" let new_path = "ab.txt" | path with-extension ".rs" assert equal $new_path "ab.rs" } @test def path_with_extension_for_list [] { let new_path = ["ab.txt", "cd.exe"] | path with-extension "rs" assert equal $new_path ["ab.rs", "cd.rs"] let new_path = ["ab.txt", "cd.exe"] | path with-extension ".rs" assert equal $new_path ["ab.rs", "cd.rs"] } @test def path_with_stem [] { let new_path = $"(char psep)usr(char psep)bin" | path with-stem "share" assert equal $new_path $"(char psep)usr(char psep)share" let new_path = [$"(char psep)home(char psep)alice(char psep)", $"(char psep)home(char psep)bob(char psep)secret.txt"] | path with-stem "nushell" assert equal $new_path [$"(char psep)home(char psep)nushell", $"(char psep)home(char psep)bob(char psep)nushell.txt"] } @test def path_with_parent [] { let new_path = $"(char psep)etc(char psep)foobar" | path with-parent $"(char psep)usr(char psep)share(char psep)" assert equal $new_path $"(char psep)usr(char psep)share(char psep)foobar" let new_path = [$"(char psep)home(char psep)rose(char psep)meow", $"(char psep)home(char psep)fdncred(char psep)"] | path with-parent $"(char psep)root(char psep)" assert equal $new_path [$"(char psep)root(char psep)meow", $"(char psep)root(char psep)fdncred"] }