Skip to content

Commit

Permalink
remove macro related tests for previous issues
Browse files Browse the repository at this point in the history
The type-inference tests for macros are no longer needed.
  • Loading branch information
nickelc authored and Geal committed Aug 5, 2021
1 parent 7e2f709 commit f546168
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 207 deletions.
3 changes: 0 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,6 @@ name = "custom_errors"
[[test]]
name = "float"

[[test]]
name = "inference"

[[test]]
name = "ini"
required-features = ["alloc"]
Expand Down
54 changes: 0 additions & 54 deletions tests/inference.rs

This file was deleted.

151 changes: 1 addition & 150 deletions tests/issues.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,7 @@
#![allow(dead_code)]
#![cfg_attr(feature = "cargo-clippy", allow(redundant_closure))]

#[macro_use]
extern crate nom;

use nom::{
character::{is_digit, streaming::space1 as space},
error::ErrorKind,
number::streaming::le_u64,
Err, IResult, Needed,
};
use nom::{error::ErrorKind, Err, IResult, Needed};

#[allow(dead_code)]
struct Range {
Expand All @@ -26,50 +18,6 @@ pub fn take_char(input: &[u8]) -> IResult<&[u8], char> {
}
}

//trace_macros!(true);

#[allow(dead_code)]
named!(range<&[u8], Range>,
alt!(
do_parse!(
start: take_char >>
tag!("-") >>
end: take_char >>
(Range {
start: start,
end: end,
})
) |
map!(
take_char,
|c| {
Range {
start: c,
end: c,
}
}
)
)
);

#[allow(dead_code)]
named!(literal<&[u8], Vec<char> >,
map!(
many1!(take_char),
|cs| {
cs
}
)
);

#[test]
fn issue_58() {
let _ = range(&b"abcd"[..]);
let _ = literal(&b"abcd"[..]);
}

//trace_macros!(false);

#[cfg(feature = "std")]
mod parse_int {
use nom::HexDisplay;
Expand Down Expand Up @@ -144,25 +92,6 @@ fn take_till_issue() {
assert_eq!(nothing(b"abc"), Ok((&b"abc"[..], &b""[..])));
}

named!(
issue_498<Vec<&[u8]>>,
separated_list1!(opt!(space), tag!("abcd"))
);

named!(issue_308(&str) -> bool,
do_parse! (
tag! ("foo") >>
b: alt! (
complete!(map! (tag! ("1"), |_: &str|->bool {true})) |
value! (false)
) >>
(b) ));

#[cfg(feature = "alloc")]
fn issue_302(input: &[u8]) -> IResult<&[u8], Option<Vec<u64>>> {
do_parse!(input, entries: cond!(true, count!(le_u64, 3)) >> (entries))
}

#[test]
fn issue_655() {
use nom::character::streaming::{line_ending, not_line_ending};
Expand All @@ -182,77 +111,11 @@ fn issue_655() {
assert_eq!(twolines("foé\r\nbar\n"), Ok(("", ("foé", "bar"))));
}

#[test]
fn issue_721() {
named!(f1<&str, u16>, parse_to!(u16));
named!(f2<&str, String>, parse_to!(String));
assert_eq!(f1("1234"), Ok(("", 1234)));
assert_eq!(f2("foo"), Ok(("", "foo".to_string())));
//assert_eq!(parse_to!("1234", u16), Ok(("", 1234)));
//assert_eq!(parse_to!("foo", String), Ok(("", "foo".to_string())));
}

#[cfg(feature = "alloc")]
named!(issue_717<&[u8], Vec<&[u8]> >,
separated_list0!(tag!([0x0]), is_not!([0x0u8]))
);

struct NoPartialEq {
value: i32,
}

named!(issue_724<&str, i32>,
do_parse!(
metadata: permutation!(
map!(tag!("hello"), |_| NoPartialEq { value: 1 }),
map!(tag!("world"), |_| NoPartialEq { value: 2 })
) >>
(metadata.0.value + metadata.1.value)
)
);

#[test]
fn issue_752() {
assert_eq!(
Err::Error(("ab", nom::error::ErrorKind::ParseTo)),
parse_to!("ab", usize).unwrap_err()
)
}

fn atom_specials(c: u8) -> bool {
c == b'q'
}

named!(
capability<&str>,
do_parse!(tag!(" ") >> _atom: map_res!(take_till1!(atom_specials), std::str::from_utf8) >> ("a"))
);

#[test]
fn issue_759() {
assert_eq!(capability(b" abcqd"), Ok((&b"qd"[..], "a")));
}

named_args!(issue_771(count: usize)<Vec<u32>>,
length_count!(value!(count), call!(nom::number::streaming::be_u32))
);

/// This test is in a separate module to check that all required symbols are imported in
/// `escaped_transform!()`. Without the module, the `use`-es of the current module would
/// mask the error ('"Use of undeclared type or module `Needed`" in escaped_transform!').
mod issue_780 {
named!(issue_780<&str, String>,
escaped_transform!(call!(::nom::character::streaming::alpha1), '\\', tag!("n"))
);
}

// issue 617
named!(digits, take_while1!(is_digit));
named!(multi_617<&[u8], () >, fold_many0!( digits, (), |_, _| {}));

// Sad :(
named!(multi_617_fails<&[u8], () >, fold_many0!( take_while1!( is_digit ), (), |_, _| {}));

mod issue_647 {
use nom::{error::Error, number::streaming::be_f64, Err};
pub type Input<'a> = &'a [u8];
Expand Down Expand Up @@ -285,8 +148,6 @@ mod issue_647 {
));
}

named!(issue_775, take_till1!(|_| true));

#[test]
fn issue_848_overflow_incomplete_bits_to_bytes() {
named!(take, take!(0x2000000000000000));
Expand Down Expand Up @@ -338,16 +199,6 @@ fn issue_1027_convert_error_panic_nonempty() {
);
}

named!(issue_962<&[u8], Vec<&[u8]>>,
fold_many0!(
alt!(tag!("aaaa") | tag!("bbbb")),
Vec::new(), |mut acc: Vec<_>, item| {
acc.push(item);
acc
}
)
);

#[test]
fn issue_1231_bits_expect_fn_closure() {
use nom::bits::{bits, complete::take};
Expand Down

0 comments on commit f546168

Please sign in to comment.