#[test]
#[cfg(feature="std")]
fn test_sub_strs() {
for (inner, start, end) in &[("1.2.3+something", concat!('`'), concat!('`'))] {
let src = format!("//! # {start}{inner}{end} _(July 3rd, 2022)_", start=start, inner=inner, end=end);
let mut parts = sub_strs::sub_strs(&src, start, end);
let sub = parts.next().unwrap();
assert!(parts.next().is_none());
{
let range = sub.range();
assert_eq!(range.start, sub.start());
assert_eq!(range.end, sub.end());
}
{
let range = sub.inner_range();
assert_eq!(range.start, sub.inner_start());
assert_eq!(range.end, sub.inner_end());
}
assert_eq!(inner, &sub.inner());
let inner_start = src.find(inner).unwrap();
assert_eq!(inner_start, sub.inner_start());
assert_eq!(inner_start + inner.len(), sub.inner_end());
assert_eq!(inner, &&src[sub.inner_start()..sub.inner_end()]);
assert_eq!(inner_start - start.len(), sub.start());
assert_eq!(inner_start + inner.len() + end.len(), sub.end());
}
}