iso_639/
lib.rs

1#[cfg(test)]
2mod tests {
3    use crate::Language;
4
5    #[test]
6    fn from_str() {
7        assert_eq!(Language::from_str("eng").unwrap(), Language::English);
8        assert_eq!(Language::from_str("fr").unwrap(), Language::French);
9        assert_eq!(Language::from_str("zho").unwrap(), Language::Chinese);
10        assert_eq!(Language::from_str("enm").unwrap(), Language::EnglishMiddle);
11    }
12
13    #[test]
14    fn from_alpha2() {
15        assert_eq!(Language::from_alpha2_str("en").unwrap(), Language::English);
16        assert_eq!(Language::from_alpha2_str("fr").unwrap(), Language::French);
17        assert!(Language::from_alpha2_str("zho").is_none())
18    }
19
20    #[test]
21    fn from_alpha3b() {
22        assert_eq!(Language::from_alpha3_b_str("eng").unwrap(), Language::English);
23        assert_eq!(Language::from_alpha3_b_str("chi").unwrap(), Language::Chinese);
24        assert_eq!(Language::from_alpha3_b_str("fre").unwrap(), Language::French);
25        assert!(Language::from_alpha3_b_str("zho").is_none())
26    }
27
28    #[test]
29    fn from_alpha3t() {
30        assert_eq!(Language::from_alpha3_t_str("zho").unwrap(), Language::Chinese);
31        assert_eq!(Language::from_alpha3_t_str("fra").unwrap(), Language::French);
32        assert!(Language::from_alpha3_t_str("chi").is_none());
33        assert!(Language::from_alpha3_t_str("fre").is_none());
34    }
35
36    #[test]
37    fn english_name() {
38        assert_eq!(Language::English.english_name(), "English");
39        assert_eq!(Language::NKo.english_name(), "N'Ko");
40        assert_eq!(Language::French.english_name(), "French");
41        assert_eq!(Language::EnglishMiddle.english_name(), "English, Middle (1100-1500)");
42    }
43}
44
45mod languages;
46
47pub use languages::Language;