marco_core/parser/inlines/
shared.rs1pub use crate::parser::shared::{
7 opt_span, opt_span_range, to_parser_span, to_parser_span_range, GrammarSpan,
8};
9
10#[cfg(test)]
14mod tests {
15 use super::*;
16 use nom::Input;
17
18 #[test]
19 fn smoke_test_to_parser_span() {
20 let input = "Hello, World!";
21 let span = GrammarSpan::new(input);
22
23 let parser_span = to_parser_span(span);
24
25 assert_eq!(parser_span.start.line, 1);
26 assert_eq!(parser_span.start.column, 1);
27 assert_eq!(parser_span.start.offset, 0);
28 assert_eq!(parser_span.end.offset, 13); }
30
31 #[test]
32 fn smoke_test_to_parser_span_range() {
33 let input = "Hello, World!";
34 let full_span = GrammarSpan::new(input);
35
36 let start_span = full_span;
38 let end_span = full_span.take_from(5);
39
40 let parser_span = to_parser_span_range(start_span, end_span);
41
42 assert_eq!(parser_span.start.line, 1);
43 assert_eq!(parser_span.start.offset, 0);
44 assert_eq!(parser_span.end.offset, 5);
45 }
46}