()
| 922 | |
| 923 | #[test] |
| 924 | fn parse_atom_simple() { |
| 925 | assert_eq!(Atom::take("a"), Ok(("", Atom::NormalChar('a')))); |
| 926 | assert_eq!(Atom::take(r"abcd"), Ok(("bcd", Atom::NormalChar('a')))); |
| 927 | assert_eq!(Atom::take(r"\\"), Ok(("", Atom::NormalChar('\\')))); |
| 928 | assert_eq!( |
| 929 | Atom::take(r"\[asdf\]"), |
| 930 | Ok((r"asdf\]", Atom::NormalChar('['))) |
| 931 | ); |
| 932 | assert_eq!(Atom::take(r"\."), Ok(("", Atom::NormalChar('.')))); |
| 933 | assert_eq!(Atom::take(r" "), Ok(("", Atom::NormalChar(' ')))); |
| 934 | assert_eq!(Atom::take(r"\"), Err(RegexParseError::InvalidAtom('\\'))); |
| 935 | |
| 936 | assert_eq!(Atom::take("."), Ok(("", Atom::CharClass(CharClass::Dot)))); |
| 937 | assert_eq!(Atom::take(".."), Ok((".", Atom::CharClass(CharClass::Dot)))); |
| 938 | } |
| 939 | |
| 940 | #[test] |
| 941 | fn parse_atom_brackets() { |
nothing calls this directly
no outgoing calls
no test coverage detected