perl_module_token_parser/
lib.rs1#![deny(unsafe_code)]
8#![warn(rust_2018_idioms)]
9#![warn(missing_docs)]
10#![warn(clippy::all)]
11
12pub use perl_module_token_core::{ModuleTokenSpan, parse_module_token};
13
14#[cfg(test)]
15mod tests {
16 use super::{ModuleTokenSpan, parse_module_token};
17
18 #[test]
19 fn parses_canonical_and_legacy_tokens() {
20 assert_eq!(
21 parse_module_token("use Foo::Bar;", 4),
22 Some(ModuleTokenSpan { start: 4, end: 12 })
23 );
24 assert_eq!(
25 parse_module_token("use Foo'Bar;", 4),
26 Some(ModuleTokenSpan { start: 4, end: 11 })
27 );
28 }
29
30 #[test]
31 fn rejects_invalid_token_starts() {
32 assert!(parse_module_token("5Foo", 0).is_none());
33 assert!(parse_module_token("Foo::", 0).is_none());
34 assert!(parse_module_token("Foo'", 0).is_none());
35 }
36}