nushell/crates/nu-parser/tests/main.rs
Niklas Jonsson a59414203f
Only discard command comment if prev token was comment (#3628)
This fixes issues where a file with multiple def commands with their own
doc comments, some of the comments would be discarded.
2021-06-17 14:11:05 +12:00

67 lines
2.2 KiB
Rust
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use nu_test_support::fs::Stub::FileWithContent;
use nu_test_support::nu;
use nu_test_support::playground::Playground;
#[test]
fn defs_contain_comment_in_help() {
Playground::setup("comment_test", |dirs, sandbox| {
sandbox.with_files(vec![FileWithContent(
"my_def.nu",
r#"
# I comment and test. I am a good boy.
def comment_philosphy [] {
echo Its not a bug its an undocumented feature. (Anonymous)
}
"#,
)]);
let actual = nu!(cwd: dirs.test(), r#"
source my_def.nu
help comment_philosphy
"#);
assert!(actual.out.contains("I comment and test. I am a good boy."));
});
}
#[test]
fn defs_contain_multiple_comments_in_help() {
Playground::setup("comment_test_2", |dirs, sandbox| {
sandbox.with_files(vec![FileWithContent(
"my_def.nu",
r#"
# I comment and test. I am a good boy.
def comment_philosphy [] {
echo Its not a bug its an undocumented feature. (Anonymous)
}
# I comment and test all my functions. I am a very good boy.
def comment_philosphy_2 [] {
echo Its not a bug its an undocumented feature. (Anonymous)
}
# I comment and test all my functions. I am the best boy.
def comment_philosphy_3 [] {
echo Its not a bug its an undocumented feature. (Anonymous)
}
"#,
)]);
let actual = nu!(cwd: dirs.test(), r#"
source my_def.nu
help comment_philosphy
help comment_philosphy_2
help comment_philosphy_3
"#);
assert!(actual.out.contains("I comment and test. I am a good boy."));
assert!(actual
.out
.contains("I comment and test all my functions. I am a very good boy."));
assert!(actual
.out
.contains("I comment and test all my functions. I am the best boy."));
});
}