forked from extern/nushell
5afbfb5c2c
# Description This PR is just a minor development improvement. While working on another feature, I noticed that the root crate lists the super useful `pretty_assertions` in the root crate but doesn't use it in most tests. With this change `pretty_assertions::assert_eq!` is used instead of `core::assert_eq!` for better diffs when debugging the tests. I thought of adding the dependency to other crates but I decided not to since I didn't want a huge disruptive PR :)
107 lines
2.2 KiB
Rust
107 lines
2.2 KiB
Rust
use nu_test_support::nu;
|
|
use pretty_assertions::assert_eq;
|
|
|
|
#[ignore = "TODO: This shows old-style aliases. New aliases are under commands"]
|
|
#[test]
|
|
fn scope_shows_alias() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"alias xaz = echo alias1
|
|
$nu.scope.aliases | find xaz | length
|
|
"#
|
|
);
|
|
|
|
let length: i32 = actual.out.parse().unwrap();
|
|
assert_eq!(length, 1);
|
|
}
|
|
|
|
#[test]
|
|
fn scope_shows_command() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"def xaz [] { echo xaz }
|
|
$nu.scope.commands | find xaz | length
|
|
"#
|
|
);
|
|
|
|
let length: i32 = actual.out.parse().unwrap();
|
|
assert_eq!(length, 1);
|
|
}
|
|
|
|
#[test]
|
|
fn scope_doesnt_show_scoped_hidden_alias() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"alias xaz = echo alias1
|
|
do {
|
|
hide xaz
|
|
$nu.scope.aliases | find xaz | length
|
|
}
|
|
"#
|
|
);
|
|
|
|
let length: i32 = actual.out.parse().unwrap();
|
|
assert_eq!(length, 0);
|
|
}
|
|
|
|
#[test]
|
|
fn scope_doesnt_show_hidden_alias() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"alias xaz = echo alias1
|
|
hide xaz
|
|
$nu.scope.aliases | find xaz | length
|
|
"#
|
|
);
|
|
|
|
let length: i32 = actual.out.parse().unwrap();
|
|
assert_eq!(length, 0);
|
|
}
|
|
|
|
#[test]
|
|
fn scope_doesnt_show_scoped_hidden_command() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"def xaz [] { echo xaz }
|
|
do {
|
|
hide xaz
|
|
$nu.scope.commands | find xaz | length
|
|
}
|
|
"#
|
|
);
|
|
|
|
let length: i32 = actual.out.parse().unwrap();
|
|
assert_eq!(length, 0);
|
|
}
|
|
|
|
#[test]
|
|
fn scope_doesnt_show_hidden_command() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"def xaz [] { echo xaz }
|
|
hide xaz
|
|
$nu.scope.commands | find xaz | length
|
|
"#
|
|
);
|
|
|
|
let length: i32 = actual.out.parse().unwrap();
|
|
assert_eq!(length, 0);
|
|
}
|
|
|
|
// same problem as 'which' command
|
|
#[ignore]
|
|
#[test]
|
|
fn correctly_report_of_shadowed_alias() {
|
|
let actual = nu!(
|
|
cwd: ".",
|
|
r#"alias xaz = echo alias1
|
|
def helper [] {
|
|
alias xaz = echo alias2
|
|
$nu.scope.aliases
|
|
}
|
|
helper | where alias == xaz | get expansion.0"#
|
|
);
|
|
|
|
assert_eq!(actual.out, "echo alias2");
|
|
}
|