1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
use LangTag;
use TryInto;
// #[test]
// pub fn extensions_mut_insert() {
// let mut tag = LangTag::new("fr-a-ext1-b-ext2").unwrap();
// tag.extensions_mut()
// .insert('a'.try_into().unwrap(), "ext3".try_into().unwrap());
// tag.extensions_mut()
// .insert('c'.try_into().unwrap(), "ext4".try_into().unwrap());
// tag.extensions_mut()
// .insert('b'.try_into().unwrap(), "ext5".try_into().unwrap());
// tag.extensions_mut()
// .insert('c'.try_into().unwrap(), "ext6".try_into().unwrap());
// assert_eq!(tag, "fr-a-ext1-ext3-b-ext2-ext5-c-ext4-ext6")
// }
// #[test]
// pub fn extensions_mut_remove() {
// let mut tag =
// LangTag::new("fr-a-ext1-ext2-b-ext3-ext4-a-ext5-a-ext6-c-ext7-a-ext8")
// .unwrap();
// tag.extensions_mut().remove('a'.try_into().unwrap());
// assert_eq!(tag, "fr-b-ext3-ext4-c-ext7")
// }
// #[test]
// pub fn extensions_mut_remove_subtag() {
// let mut tag =
// LangTag::new("fr-a-ext1-ext2-b-ext3-ext4-a-ext5-a-ext6-c-ext7-a-ext8-ext9")
// .unwrap();
// let a: langtag::Singleton = 'a'.try_into().unwrap();
// let b: langtag::Singleton = 'b'.try_into().unwrap();
// let c: langtag::Singleton = 'c'.try_into().unwrap();
// tag.extensions_mut().remove_subtag(a, "ext1");
// assert_eq!(
// tag,
// "fr-a-ext2-b-ext3-ext4-a-ext5-a-ext6-c-ext7-a-ext8-ext9"
// );
// tag.extensions_mut().remove_subtag(a, "ext2");
// assert_eq!(tag, "fr-b-ext3-ext4-a-ext5-a-ext6-c-ext7-a-ext8-ext9");
// tag.extensions_mut().remove_subtag(a, "ext8");
// assert_eq!(tag, "fr-b-ext3-ext4-a-ext5-a-ext6-c-ext7-a-ext9");
// tag.extensions_mut().remove_subtag(a, "ext9");
// assert_eq!(tag, "fr-b-ext3-ext4-a-ext5-a-ext6-c-ext7");
// tag.extensions_mut().remove_subtag(a, "ext5");
// assert_eq!(tag, "fr-b-ext3-ext4-a-ext6-c-ext7");
// tag.extensions_mut().remove_subtag(a, "ext6");
// assert_eq!(tag, "fr-b-ext3-ext4-c-ext7");
// tag.extensions_mut().remove_subtag(c, "ext7");
// assert_eq!(tag, "fr-b-ext3-ext4");
// tag.extensions_mut().remove_subtag(b, "ext3");
// assert_eq!(tag, "fr-b-ext4");
// tag.extensions_mut().remove_subtag(b, "ext4");
// assert_eq!(tag, "fr");
// }