| 5028 | |
| 5029 | #[test] |
| 5030 | fn maybe_parse_ascii_class() { |
| 5031 | assert_eq!( |
| 5032 | parser(r"[:alnum:]").maybe_parse_ascii_class(), |
| 5033 | Some(ast::ClassAscii { |
| 5034 | span: span(0..9), |
| 5035 | kind: ast::ClassAsciiKind::Alnum, |
| 5036 | negated: false, |
| 5037 | })); |
| 5038 | assert_eq!( |
| 5039 | parser(r"[:alnum:]A").maybe_parse_ascii_class(), |
| 5040 | Some(ast::ClassAscii { |
| 5041 | span: span(0..9), |
| 5042 | kind: ast::ClassAsciiKind::Alnum, |
| 5043 | negated: false, |
| 5044 | })); |
| 5045 | assert_eq!( |
| 5046 | parser(r"[:^alnum:]").maybe_parse_ascii_class(), |
| 5047 | Some(ast::ClassAscii { |
| 5048 | span: span(0..10), |
| 5049 | kind: ast::ClassAsciiKind::Alnum, |
| 5050 | negated: true, |
| 5051 | })); |
| 5052 | |
| 5053 | let p = parser(r"[:"); |
| 5054 | assert_eq!(p.maybe_parse_ascii_class(), None); |
| 5055 | assert_eq!(p.offset(), 0); |
| 5056 | |
| 5057 | let p = parser(r"[:^"); |
| 5058 | assert_eq!(p.maybe_parse_ascii_class(), None); |
| 5059 | assert_eq!(p.offset(), 0); |
| 5060 | |
| 5061 | let p = parser(r"[^:alnum:]"); |
| 5062 | assert_eq!(p.maybe_parse_ascii_class(), None); |
| 5063 | assert_eq!(p.offset(), 0); |
| 5064 | |
| 5065 | let p = parser(r"[:alnnum:]"); |
| 5066 | assert_eq!(p.maybe_parse_ascii_class(), None); |
| 5067 | assert_eq!(p.offset(), 0); |
| 5068 | |
| 5069 | let p = parser(r"[:alnum]"); |
| 5070 | assert_eq!(p.maybe_parse_ascii_class(), None); |
| 5071 | assert_eq!(p.offset(), 0); |
| 5072 | |
| 5073 | let p = parser(r"[:alnum:"); |
| 5074 | assert_eq!(p.maybe_parse_ascii_class(), None); |
| 5075 | assert_eq!(p.offset(), 0); |
| 5076 | } |
| 5077 | |
| 5078 | #[test] |
| 5079 | fn parse_unicode_class() { |