A reference to the comma-separated string of badges to sort in place.
The order of badges to sort by.
1 const string[4] badgeOrder = 2 [ 3 "broadcaster", 4 "moderator", 5 "vip", 6 "subscriber", 7 ]; 8 9 { 10 string badges = "subscriber/14,broadcaster/1"; 11 sortBadges(badges, badgeOrder[]); 12 assert((badges == "broadcaster/1,subscriber/14"), badges); 13 } 14 { 15 string badges = "broadcaster/1,broadcaster/1"; 16 sortBadges(badges, badgeOrder[]); 17 assert((badges == "broadcaster/1,broadcaster/1"), badges); 18 } 19 { 20 string badges = "subscriber/14,vip/1"; 21 sortBadges(badges, badgeOrder[]); 22 assert((badges == "vip/1,subscriber/14"), badges); 23 } 24 { 25 string badges; 26 sortBadges(badges, badgeOrder[]); 27 assert(!badges.length, badges); 28 } 29 { 30 string badges = "hirfharf/1,horfhorf/32"; 31 sortBadges(badges, badgeOrder[]); 32 assert((badges == "hirfharf/1,horfhorf/32"), badges); 33 } 34 { 35 string badges = "subscriber/14,moderator/1"; 36 sortBadges(badges, badgeOrder[]); 37 assert((badges == "moderator/1,subscriber/14"), badges); 38 } 39 { 40 string badges = "broadcaster/1,asdf/9999"; 41 sortBadges(badges, badgeOrder[]); 42 assert((badges == "broadcaster/1,asdf/9999"), badges); 43 } 44 { 45 string badges = "subscriber/91,sub-gifter/25,broadcaster/1"; 46 sortBadges(badges, badgeOrder[]); 47 assert((badges == "broadcaster/1,subscriber/91,sub-gifter/25"), badges); 48 } 49 { 50 static immutable string[3] altBadgeOrder = 51 [ 52 "a", 53 "b", 54 "c", 55 ]; 56 57 string badges = "f/1,b/2,d/3,c/4,a/5,e/6"; 58 sortBadges(badges, altBadgeOrder[]); 59 assert((badges == "a/5,b/2,c/4,f/1,d/3,e/6"), badges); 60 }
Sorts a comma-separated list of badges so that the badges in the badgeOrder array are placed first, in the order they appear in the array.