forked from extern/nushell
3005fe10e5
related to the namespace bullet point in - https://github.com/nushell/nushell/issues/8450 # Description this was the last module of the standard library with a broken namespace, this PR takes care of this. - `run-tests` has been moved to `std/mod.nu` - `std/testing.nu` has been moved to `std/assert.nu` - the namespace has been fixed - `assert` is now called `main` and used in all the other `std assert` commands - for `std assert length` and `std assert str contains`, in order not to shadow the built-in `length` and `str contains` commands, i've used `alias "core ..." = ...` to (1) define `foo` in `assert.nu` and (2) still use the builtin `foo` with `core foo` (replace `foo` by `length` or `str contains`) - tests have been fixed accordingly # User-Facing Changes one can not use ``` use std "assert equal" ``` anymore because `assert ...` is not exported from `std`. `std assert` is now a *real* module. # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - ⚫ `toolkit test` - ⚫ `toolkit test stdlib` # After Submitting ``` $nothing ``` # Notes for reviewers to test this, i think the easiest is to - run `toolkit test stdlib` and see all the tests pass - run `cargo run -- -n` and try `use std assert` => are all the commands available in scope?
41 lines
1.0 KiB
Plaintext
41 lines
1.0 KiB
Plaintext
use std
|
|
|
|
export def test_path_add [] {
|
|
use std assert
|
|
|
|
let path_name = if "PATH" in $env { "PATH" } else { "Path" }
|
|
|
|
with-env [$path_name []] {
|
|
def get_path [] { $env | get $path_name }
|
|
|
|
assert equal (get_path) []
|
|
|
|
std path add "/foo/"
|
|
assert equal (get_path) ["/foo/"]
|
|
|
|
std path add "/bar/" "/baz/"
|
|
assert equal (get_path) ["/bar/", "/baz/", "/foo/"]
|
|
|
|
let-env $path_name = []
|
|
|
|
std path add "foo"
|
|
std path add "bar" "baz" --append
|
|
assert equal (get_path) ["foo", "bar", "baz"]
|
|
|
|
assert equal (std path add "fooooo" --ret) ["fooooo", "foo", "bar", "baz"]
|
|
assert equal (get_path) ["fooooo", "foo", "bar", "baz"]
|
|
|
|
let-env $path_name = []
|
|
let target_paths = {linux: "foo", windows: "bar", macos: "baz"}
|
|
|
|
std path add $target_paths
|
|
assert equal (get_path) [($target_paths | get $nu.os-info.name)]
|
|
|
|
|
|
}
|
|
}
|
|
|
|
export def test_banner [] {
|
|
std assert ((std banner | lines | length) == 15)
|
|
}
|