Skip to content

Commit

Permalink
docs: fix the OsString-using doc-tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tormol committed Oct 16, 2016
1 parent 4c27f0a commit af9e1a3
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 22 deletions.
10 changes: 5 additions & 5 deletions src/app/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -377,8 +377,9 @@ pub enum AppSettings {
///
#[cfg_attr(not(unix), doc=" ```ignore")]
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg, AppSettings, ErrorKind};
/// # use clap::{App, AppSettings, ErrorKind};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStringExt;
///
/// let m = App::new("myprog")
/// .setting(AppSettings::StrictUtf8)
Expand All @@ -390,7 +391,6 @@ pub enum AppSettings {
///
/// assert!(m.is_err());
/// assert_eq!(m.unwrap_err().kind, ErrorKind::InvalidUtf8);
/// }
/// ```
/// [`SubCommand`]: ./struct.SubCommand.html
/// [`ErrorKind::InvalidUtf8`]: ./enum.ErrorKind.html#variant.InvalidUtf8
Expand All @@ -414,12 +414,12 @@ pub enum AppSettings {
///
#[cfg_attr(not(unix), doc=" ```ignore")]
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg, AppSettings};
/// # use clap::{App, AppSettings};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStrExt;
/// use std::os::unix::ffi::{OsStrExt,OsStringExt};
///
/// let r = App::new("myprog")
/// .setting(AppSettings::StrictUtf8)
/// //.setting(AppSettings::AllowInvalidUtf8)
/// .arg_from_usage("<arg> 'some positional arg'")
/// .get_matches_from_safe(
/// vec![
Expand Down
34 changes: 18 additions & 16 deletions src/args/arg_matches.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ impl<'a> ArgMatches<'a> {
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStrExt;
/// use std::os::unix::ffi::{OsStrExt,OsStringExt};
///
/// let m = App::new("utf8")
/// .arg(Arg::from_usage("<arg> 'some arg'"))
Expand Down Expand Up @@ -170,7 +170,7 @@ impl<'a> ArgMatches<'a> {
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStrExt;
/// use std::os::unix::ffi::{OsStrExt,OsStringExt};
///
/// let m = App::new("utf8")
/// .arg(Arg::from_usage("<arg> 'some arg'"))
Expand Down Expand Up @@ -233,16 +233,18 @@ impl<'a> ArgMatches<'a> {
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStrExt;
/// use std::os::unix::ffi::OsStringExt;
///
/// let m = App::new("utf8")
/// .arg(Arg::from_usage("<arg> 'some arg'"))
/// .arg(Arg::from_usage("<arg>... 'some arg'"))
/// .get_matches_from(vec![OsString::from("myprog"),
/// // "Hi {0xe9}!"
/// OsString::from_vec(vec![b'H', b'i', b' ', 0xe9, b'!'])]);
/// let itr = m.values_of_lossy("arg").unwrap();
/// assert_eq!(&*itr.next().unwrap(), "Hi");
/// assert_eq!(&*itr.next().unwrap(), "\u{FFFD}!");
/// // "Hi"
/// OsString::from_vec(vec![b'H', b'i']),
/// // "{0xe9}!"
/// OsString::from_vec(vec![0xe9, b'!'])]);
/// let mut itr = m.values_of_lossy("arg").unwrap().into_iter();
/// assert_eq!(&itr.next().unwrap()[..], "Hi");
/// assert_eq!(&itr.next().unwrap()[..], "\u{FFFD}!");
/// assert_eq!(itr.next(), None);
/// ```
pub fn values_of_lossy<S: AsRef<str>>(&'a self, name: S) -> Option<Vec<String>> {
Expand All @@ -266,20 +268,20 @@ impl<'a> ArgMatches<'a> {
#[cfg_attr(not(unix), doc=" ```ignore")]
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStrExt;
/// use std::ffi::{OsStr,OsString};
/// use std::os::unix::ffi::{OsStrExt,OsStringExt};
///
/// let m = App::new("utf8")
/// .arg(Arg::from_usage("<arg> 'some arg'"))
/// .arg(Arg::from_usage("<arg>... 'some arg'"))
/// .get_matches_from(vec![OsString::from("myprog"),
/// // "Hi"
/// OsString::from_vec(vec![b'H', b'i']),
/// // "{0xe9}!"
/// OsString::from_vec(vec![0xe9, b'!'])]);
///
/// let itr = m.values_of_os("arg").unwrap();
/// assert_eq!(itr.next(), Some(&*OsString::from("Hi")));
/// assert_eq!(itr.next(), Some(&*OsString::from_vec(vec![0xe9, b'!'])));
/// let mut itr = m.values_of_os("arg").unwrap().into_iter();
/// assert_eq!(itr.next(), Some(OsStr::new("Hi")));
/// assert_eq!(itr.next(), Some(OsStr::from_bytes(&[0xe9, b'!'])));
/// assert_eq!(itr.next(), None);
/// ```
/// [`OsValues`]: ./struct.OsValues.html
Expand Down Expand Up @@ -637,7 +639,7 @@ impl<'a, V> DoubleEndedIterator for Iter<'a, V> {
#[cfg_attr( unix , doc=" ```")]
/// # use clap::{App, Arg};
/// use std::ffi::OsString;
/// use std::os::unix::ffi::OsStrExt;
/// use std::os::unix::ffi::{OsStrExt,OsStringExt};
///
/// let m = App::new("utf8")
/// .arg(Arg::from_usage("<arg> 'some arg'"))
Expand Down
2 changes: 1 addition & 1 deletion src/errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ pub enum ErrorKind {
/// .short("u")
/// .takes_value(true))
/// .get_matches_from_safe(vec![OsString::from("myprog"),
/// OsString::from("-u")
/// OsString::from("-u"),
/// OsString::from_vec(vec![0xE9])]);
/// assert!(result.is_err());
/// assert_eq!(result.unwrap_err().kind, ErrorKind::InvalidUtf8);
Expand Down

0 comments on commit af9e1a3

Please sign in to comment.