regex_quote_fixer 0.1.4

Rewrites grep regexpressions for the use in the regex crate.
Documentation
#[cfg(test)]
mod tests {
 use crate::RegexQuoteFixer;
 #[test]
 fn test_from_chars() {
  let rqf = RegexQuoteFixer::from_chars(vec!['?', '(', ')']);
  assert_eq!(true, (rqf.lambda)('?'));
  assert_eq!(true, (rqf.lambda)('('));
  assert_eq!(true, (rqf.lambda)(')'));
  assert_eq!(false, (rqf.lambda)('!'));
 }

 #[test]
 fn test_from_string() {
  let rqf = RegexQuoteFixer::from_string("?()".into());
  assert_eq!(true, (rqf.lambda)('?'));
  assert_eq!(true, (rqf.lambda)('('));
  assert_eq!(true, (rqf.lambda)(')'));
  assert_eq!(false, (rqf.lambda)('!'));
 }

 #[test]
 fn test_from_lambda() {
  let rqf = RegexQuoteFixer::from_lambda(Box::new(|x| x == '_'));
  assert_eq!(true, (rqf.lambda)('_'));
  assert_eq!(false, (rqf.lambda)('!'));
 }

 #[test]
 fn test_fix_regex() {
  let rqf = RegexQuoteFixer::from_lambda(Box::new(|x| x == '?'));
  assert_eq!("", rqf.fix(""));
  assert_eq!("a", rqf.fix("a"));
  assert_eq!("ab", rqf.fix("ab"));
  assert_eq!("\\", rqf.fix("\\"));
  assert_eq!("\\\\", rqf.fix("\\\\"));
  assert_eq!("\\\\\\", rqf.fix("\\\\\\"));
  assert_eq!("\\\\\\\\", rqf.fix("\\\\\\\\"));
  assert_eq!("\\b", rqf.fix("\\b"));
  assert_eq!("a\\", rqf.fix("a\\"));
  assert_eq!("a\\b", rqf.fix("a\\b"));

  assert_eq!("\\?", rqf.fix("?"));
  assert_eq!("?", rqf.fix("\\?"));
  assert_eq!("\\??", rqf.fix("?\\?"));
  assert_eq!("?\\?", rqf.fix("\\??"));

  assert_eq!("\\?\\?\\", rqf.fix("??\\"));
  assert_eq!("??\\", rqf.fix("\\?\\?\\"));
 }
}