usv/
str_ext.rs

1use crate as usv;
2
3pub trait StrExt {
4    fn tokens(&self) -> usv::iter::Tokens;
5    fn units(&self) -> usv::iter::Units;
6    fn records(&self) -> usv::iter::Records;
7    fn groups(&self) -> usv::iter::Groups;
8    fn files(&self) -> usv::iter::Files;
9}
10
11impl StrExt for str {
12
13    fn tokens(&self) -> usv::iter::Tokens {
14        self.chars().into()
15    }
16
17    fn units(&self) -> usv::iter::Units {
18        self.chars().into()
19    }
20
21    fn records(&self) -> usv::iter::Records {
22        self.chars().into()
23    }
24
25    fn groups(&self) -> usv::iter::Groups {
26        self.chars().into()
27    }
28
29    fn files(&self) -> usv::iter::Files {
30        self.chars().into()
31    }
32
33}
34
35
36#[cfg(test)]
37mod tests {
38    use super::*;
39    use crate as usv;
40    use crate::examples::*;
41
42    #[test]
43    fn tokens_test() {
44        let _actual: usv::iter::Tokens = EXAMPLE_FILES_STYLE_SYMBOLS.tokens();
45    }
46
47    #[test]
48    fn units_test() {
49        let _actual: usv::iter::Units = EXAMPLE_UNITS_STYLE_SYMBOLS.units();
50    }
51
52    #[test]
53    fn records_test() {
54        let _actual: usv::iter::Records = EXAMPLE_RECORDS_STYLE_SYMBOLS.records();
55    }
56
57    #[test]
58    fn groups_test() {
59        let _actual: usv::iter::Groups = EXAMPLE_GROUPS_STYLE_SYMBOLS.groups();
60    }
61
62    #[test]
63    fn files_test() {
64        let _actual: usv::iter::Files = EXAMPLE_FILES_STYLE_SYMBOLS.files();
65    }
66
67}