1810: Remove {n} support r=CreepySkeleton a=pksunkara



Co-authored-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
This commit is contained in:
bors[bot] 2020-04-12 03:06:55 +00:00 committed by GitHub
commit 7788268d37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 24 deletions

View file

@ -43,6 +43,8 @@ stages:
displayName: Cache cargo
- script: rustup default $(rust)-$(target)
displayName: Install rust
- script: cargo test --no-default-features --features "std cargo" -p clap:3.0.0-beta.1
displayName: Test with almost no features
- script: cargo test --features "yaml unstable"
displayName: Test with most features
- script: |

View file

@ -58,6 +58,7 @@ jobs:
script:
- cargo tarpaulin --workspace --features "yaml unstable" --ciserver travis-ci --coveralls $TRAVIS_JOB_ID --timeout 300
script:
- cargo test --no-default-features --features "std cargo" -p clap:3.0.0-beta.1
- cargo test --features "yaml unstable"
notifications:
email: false

View file

@ -1291,11 +1291,11 @@ mod test {
#[test]
fn pos_help_newline() {
let a = Arg::from(
"[pos]... 'some help{n}\
"[pos]... 'some help\n\
info'",
);
assert_eq!(a.name, "pos");
assert_eq!(a.help.unwrap(), "some help{n}info");
assert_eq!(a.help.unwrap(), "some help\ninfo");
assert!(
a.is_set(ArgSettings::MultipleValues) && a.is_set(ArgSettings::MultipleOccurrences)
);
@ -1307,11 +1307,11 @@ mod test {
#[test]
fn pos_help_newline_lit_sq() {
let a = Arg::from(
"[pos]... 'some help\' stuff{n}\
"[pos]... 'some help\' stuff\n\
info'",
);
assert_eq!(a.name, "pos");
assert_eq!(a.help.unwrap(), "some help' stuff{n}info");
assert_eq!(a.help.unwrap(), "some help' stuff\ninfo");
assert!(
a.is_set(ArgSettings::MultipleValues) && a.is_set(ArgSettings::MultipleOccurrences)
);

View file

@ -359,7 +359,7 @@ impl<'b, 'c, 'd, 'w> Help<'b, 'c, 'd, 'w> {
let too_long = str_width(h) >= self.term_w;
debug!("Help::write_before_after_help: Too long...");
if too_long || h.contains("{n}") {
if too_long {
sdebugln!("Yes");
debugln!("Help::write_before_after_help: help: {}", help);
debugln!(
@ -371,7 +371,7 @@ impl<'b, 'c, 'd, 'w> Help<'b, 'c, 'd, 'w> {
"Help::write_before_after_help: Usable space: {}",
self.term_w
);
help = wrap_help(&help.replace("{n}", "\n"), self.term_w);
help = wrap_help(&help, self.term_w);
} else {
sdebugln!("No");
}
@ -405,14 +405,14 @@ impl<'b, 'c, 'd, 'w> Help<'b, 'c, 'd, 'w> {
}
debug!("Help::help: Too long...");
if too_long && spcs <= self.term_w || h.contains("{n}") {
if too_long && spcs <= self.term_w {
sdebugln!("Yes");
debugln!("Help::help: help...{}", help);
debugln!("Help::help: help width...{}", str_width(&*help));
// Determine how many newlines we need to insert
let avail_chars = self.term_w - spcs;
debugln!("Help::help: Usable space...{}", avail_chars);
help = wrap_help(&help.replace("{n}", "\n"), avail_chars);
help = wrap_help(&help, avail_chars);
} else {
sdebugln!("No");
}
@ -601,14 +601,14 @@ impl<'b, 'c, 'd, 'w> Help<'b, 'c, 'd, 'w> {
}
debug!("Help::sc_help: Too long...");
if too_long && spcs <= self.term_w || h.contains("{n}") {
if too_long && spcs <= self.term_w {
sdebugln!("Yes");
debugln!("Help::sc_help: help...{}", help);
debugln!("Help::sc_help: help width...{}", str_width(&*help));
// Determine how many newlines we need to insert
let avail_chars = self.term_w - spcs;
debugln!("Help::sc_help: Usable space...{}", avail_chars);
help = wrap_help(&help.replace("{n}", "\n"), avail_chars);
help = wrap_help(&help, avail_chars);
} else {
sdebugln!("No");
}
@ -784,10 +784,7 @@ impl<'b, 'c, 'd, 'w> Help<'b, 'c, 'd, 'w> {
let term_w = self.term_w;
macro_rules! write_name {
() => {{
self.color(Format::Good(&*wrap_help(
&self.parser.app.name.replace("{n}", "\n"),
term_w,
)))?;
self.color(Format::Good(&*wrap_help(&self.parser.app.name, term_w)))?;
}};
}
if let Some(bn) = self.parser.app.bin_name.as_ref() {
@ -813,11 +810,7 @@ impl<'b, 'c, 'd, 'w> Help<'b, 'c, 'd, 'w> {
macro_rules! write_thing {
($thing:expr) => {{
write!(
self.writer,
"{}\n",
wrap_help(&$thing.replace("{n}", "\n"), self.term_w)
)?
write!(self.writer, "{}\n", wrap_help(&$thing, self.term_w))?
}};
}
// Print the version

View file

@ -876,9 +876,9 @@ fn wrapping_newline_chars() {
.version("0.1")
.set_term_width(60)
.arg(Arg::with_name("mode").help(
"x, max, maximum 20 characters, contains symbols.{n}\
l, long Copy-friendly, 14 characters, contains symbols.{n}\
m, med, medium Copy-friendly, 8 characters, contains symbols.{n}",
"x, max, maximum 20 characters, contains symbols.\n\
l, long Copy-friendly, 14 characters, contains symbols.\n\
m, med, medium Copy-friendly, 8 characters, contains symbols.\n",
));
assert!(utils::compare_output(
app,
@ -893,7 +893,7 @@ fn old_newline_chars() {
let app = App::new("ctest").version("0.1").arg(
Arg::with_name("mode")
.short('m')
.help("Some help with some wrapping{n}(Defaults to something)"),
.help("Some help with some wrapping\n(Defaults to something)"),
);
assert!(utils::compare_output(
app,

View file

@ -54,7 +54,13 @@ pub fn compare_output2(l: App, args: &str, right1: &str, right2: &str, stderr: b
err.write_to(&mut buf).unwrap();
let content = buf.into_inner();
let left = String::from_utf8(content).unwrap();
assert_eq!(stderr, err.use_stderr());
assert_eq!(
stderr,
err.use_stderr(),
"Should Use STDERR failed. Should be {} but is {}",
stderr,
err.use_stderr()
);
compare(&*left, right1) || compare(&*left, right2)
}