-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
assert on leading and trailing whitespace #2786
Conversation
@@ -146,7 +155,9 @@ FLAGS: | |||
SUBCOMMANDS: | |||
help | |||
Print this message or the help of the given subcommand(s) | |||
test"; | |||
test | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks to be incorrect, will open a ticket
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also expected, given the trailing spaces on short format help messages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens when there's a subcommand starting with z
? Would appreciate you looking into it and then creating an issue with expected behaviour. In fact, there might one already for short format help messages.
@@ -841,7 +878,7 @@ fn no_wrap_help() { | |||
assert!(utils::compare_output( | |||
app, | |||
"ctest --help", | |||
MULTI_SC_HELP, | |||
&format!("{}\n", MULTI_SC_HELP), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MULTI_SC_HELP already has a trailing newline, this adds a second one, which doesn't sound right
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On second thought, this is probably expected
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain why this is expected?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we want to remove the extra new line if override_help
has one trailing?
@@ -2576,8 +2632,7 @@ fn disabled_help_flag_and_subcommand() { | |||
"error: Found argument 'help' which wasn't expected, or isn't valid in this context | |||
|
|||
USAGE: | |||
foo [SUBCOMMAND] | |||
", | |||
foo [SUBCOMMAND]", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't look right, will make issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
786bd63
to
9037980
Compare
-o, --opt <opt> [aliases: visible] | ||
"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if all of these tests need to care about whitspace, rather than having the full help-specific tests focus it.
My concern is with the cost of a change and ensuring that cost is not unnecessarily burdensome. For example, an arg alias test is only about a fraction of the overall output. If someone makes a change within a different part of clap, it shouldn't break arg aliases tests but only tests related to what was changed.
(Personally, I'd prefer we find a way to make these tests only care about the part of the help that is relevant.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how this change would affect tests-breaking-at-a-distance. My main change was in tests/utils.rs, to stop us from stripping the trailing whitespace from assertions. Given that that file is used by all these tests, having to update all of them is expected.
Going forward with other changes in a particular area, such a wide sweep should not be necessary
9037980
to
52088fb
Compare
52088fb
to
1d3a292
Compare
@@ -841,7 +878,7 @@ fn no_wrap_help() { | |||
assert!(utils::compare_output( | |||
app, | |||
"ctest --help", | |||
MULTI_SC_HELP, | |||
&format!("{}\n", MULTI_SC_HELP), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain why this is expected?
This changes the assertions of output to make leading and trailing whitespace significant