1use std::collections::HashMap;
3
4#[derive(Debug, Clone)]
5pub struct TestStep {
6 pub input: &'static str,
7 pub expected: &'static str,
8}
9
10#[derive(Debug, Clone)]
11pub struct TestCase {
12 pub player: &'static str,
13 pub variants: Option<&'static [&'static str]>,
14 pub n: &'static [TestStep],
15 pub sig: &'static [TestStep],
16}
17
18pub const ALL_VARIANTS: &[&str] = &[
20 "main", "tcc", "tce", "es5", "es6", "tv", "tv_es6", "phone", "tablet",
21];
22
23pub const VARIANTS_NO_TCE: &[&str] = &[
25 "main", "tcc", "es5", "es6", "tv", "tv_es6", "phone", "tablet",
26];
27
28pub fn get_player_paths() -> HashMap<&'static str, &'static str> {
30 let mut map = HashMap::new();
31 map.insert("main", "player_ias.vflset/en_US/base.js");
32 map.insert("tcc", "player_ias_tcc.vflset/en_US/base.js");
33 map.insert("tce", "player_ias_tce.vflset/en_US/base.js");
34 map.insert("es5", "player_es5.vflset/en_US/base.js");
35 map.insert("es6", "player_es6.vflset/en_US/base.js");
36 map.insert("tv", "tv-player-ias.vflset/tv-player-ias.js");
37 map.insert("tv_es6", "tv-player-es6.vflset/tv-player-es6.js");
38 map.insert("phone", "player-plasma-ias-phone-en_US.vflset/base.js");
39 map.insert("tablet", "player-plasma-ias-tablet-en_US.vflset/base.js");
40 map
41}
42
43pub fn get_cache_path(player: &str, variant: &str) -> String {
45 format!("players/{}-{}", player, variant)
46}
47
48pub const TEST_CASES: &[TestCase] = &[
50 TestCase {
51 player: "3d3ba064",
52 variants: None,
53 n: &[
54 TestStep {
55 input: "ZdZIqFPQK-Ty8wId",
56 expected: "qmtUsIz04xxiNW",
57 },
58 TestStep {
59 input: "4GMrWHyKI5cEvhDO",
60 expected: "N9gmEX7YhKTSmw",
61 },
62 ],
63 sig: &[TestStep {
64 input: "gN7a-hudCuAuPH6fByOk1_GNXN0yNMHShjZXS2VOgsEItAJz0tipeavEOmNdYN-wUtcEqD3bCXjc0iyKfAyZxCBGgIARwsSdQfJ2CJtt",
65 expected: "ttJC2JfQdSswRAIgGBCxZyAfKyi0cjXCb3gqEctUw-NYdNmOEvaepit0zJAtIEsgOV2SXZjhSHMNy0NXNG_1kNyBf6HPuAuCduh-a7O",
66 }],
67 },
68 TestCase {
69 player: "5ec65609",
70 variants: None,
71 n: &[TestStep {
72 input: "0eRGgQWJGfT5rFHFj",
73 expected: "4SvMpDQH-vBJCw",
74 }],
75 sig: &[TestStep {
76 input: "AAJAJfQdSswRQIhAMG5SN7-cAFChdrE7tLA6grH0rTMICA1mmDc0HoXgW3CAiAQQ4=CspfaF_vt82XH5yewvqcuEkvzeTsbRuHssRMyJQ=I",
77 expected: "AJfQdSswRQIhAMG5SN7-cAFChdrE7tLA6grI0rTMICA1mmDc0HoXgW3CAiAQQ4HCspfaF_vt82XH5yewvqcuEkvzeTsbRuHssRMyJQ==",
78 }],
79 },
80 TestCase {
81 player: "6742b2b9",
82 variants: None,
83 n: &[
84 TestStep {
85 input: "_HPB-7GFg1VTkn9u",
86 expected: "qUAsPryAO_ByYg",
87 },
88 TestStep {
89 input: "K1t_fcB6phzuq2SF",
90 expected: "Y7PcOt3VE62mog",
91 },
92 ],
93 sig: &[TestStep {
94 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
95 expected: "AJfQdSswRAIgMVVvrovTbw6UNh99kPa4D_XQjGT4qYu7S6SHM8EjoCACIEQnz-nKN5RgG6iUTnNJC58csYPSrnS_SzricuUMJZGM",
96 }],
97 },
98 TestCase {
99 player: "23ccdd25",
100 variants: None,
101 n: &[TestStep {
102 input: "0eRGgQWJGfT5rFHFj",
103 expected: "orSsTqUaUO-j",
104 }],
105 sig: &[TestStep {
106 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
107 expected: "ZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hAU6wbTvorvVVMgIARwsSdQfJAN",
108 }],
109 },
110 TestCase {
111 player: "3597727b",
112 variants: None,
113 n: &[TestStep {
114 input: "0eRGgQWJGfT5rFHFj",
115 expected: "PRwo5dDfisg0ejA2",
116 }],
117 sig: &[TestStep {
118 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
119 expected: "AAJfQdSswRAIgMVVvrovTbw6UNh99kPa4D_XQjGT4qYuMS6SHM8Ej7CACIEQnz-nKN5RgG6iUTnNJC58csYPSroS_SzricuUMJZG",
120 }],
121 },
122 TestCase {
123 player: "3752a005",
124 variants: Some(VARIANTS_NO_TCE),
125 n: &[TestStep {
126 input: "0eRGgQWJGfT5rFHFj",
127 expected: "j22ZtsqVsR0Dn",
128 }],
129 sig: &[TestStep {
130 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
131 expected: "ZJM_ucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHG6S7uYq4TGjQXSD4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
132 }],
133 },
134 TestCase {
135 player: "afc7785b",
136 variants: Some(VARIANTS_NO_TCE),
137 n: &[TestStep {
138 input: "0eRGgQWJGfT5rFHFj",
139 expected: "j22ZtsqVsR0Dn",
140 }],
141 sig: &[TestStep {
142 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
143 expected: "ZJM_ucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHG6S7uYq4TGjQXSD4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
144 }],
145 },
146 TestCase {
147 player: "b9645327",
148 variants: Some(VARIANTS_NO_TCE),
149 n: &[TestStep {
150 input: "0eRGgQWJGfT5rFHFj",
151 expected: "j22ZtsqVsR0Dn",
152 }],
153 sig: &[TestStep {
154 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
155 expected: "ZJM_ucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHG6S7uYq4TGjQXSD4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
156 }],
157 },
158 TestCase {
159 player: "035b9195",
160 variants: Some(VARIANTS_NO_TCE),
161 n: &[TestStep {
162 input: "0eRGgQWJGfT5rFHFj",
163 expected: "j22ZtsqVsR0Dn",
164 }],
165 sig: &[TestStep {
166 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
167 expected: "ZJM_ucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHG6S7uYq4TGjQXSD4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
168 }],
169 },
170 TestCase {
171 player: "6740c111",
172 variants: None,
173 n: &[TestStep {
174 input: "0eRGgQWJGfT5rFHFj",
175 expected: "AVsXYE0uE1k8e",
176 }],
177 sig: &[TestStep {
178 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
179 expected: "JfQdSswRAIgMVVvrovTbw6UNh99kPa4D_XQjGT4qYu7S6SHM8EjoCACIEQnz-MKN5RgG6iUTnNJC58csYPSrnS_SzricuUMJZGn",
180 }],
181 },
182 TestCase {
183 player: "f6a4f3bc",
184 variants: None,
185 n: &[TestStep {
186 input: "0eRGgQWJGfT5rFHFj",
187 expected: "H1NKYFbhlqZ",
188 }],
189 sig: &[TestStep {
190 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
191 expected: "JfQdSswRAIgMVVvrovTbw6UNh99kPa4D_XQjGT4qYM7S6SHM8EjoCACIEQnz-nKM5RgG6iUTnNJC58cNYPSrnS_SzricuUMJZGu",
192 }],
193 },
194 TestCase {
195 player: "b66835e2",
196 variants: None,
197 n: &[TestStep {
198 input: "0eRGgQWJGfT5rFHFj",
199 expected: "H1NKYFbhlqZ",
200 }],
201 sig: &[TestStep {
202 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
203 expected: "JfQdSswRAIgMVVvrovTbw6UNh99kPa4D_XQjGT4qYM7S6SHM8EjoCACIEQnz-nKM5RgG6iUTnNJC58cNYPSrnS_SzricuUMJZGu",
204 }],
205 },
206 TestCase {
207 player: "4f8fa943",
208 variants: None,
209 n: &[TestStep {
210 input: "0eRGgQWJGfT5rFHFj",
211 expected: "JWWr7hDSRpMq5",
212 }],
213 sig: &[TestStep {
214 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
215 expected: "AAJfQdSswRAIgMVVvrovTbw6UNh99kPa4D_XQjGT4qYu7S6SHr8EjoCACIEQnz-nKN5RgG6iUTnNZC58csYPSMnS_SzricuUM",
216 }],
217 },
218 TestCase {
219 player: "0004de42",
220 variants: None,
221 n: &[TestStep {
222 input: "0eRGgQWJGfT5rFHFj",
223 expected: "OPd7UEsCDmCw4qD0",
224 }],
225 sig: &[TestStep {
226 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJAA",
227 expected: "ZJMUucirzS_SnrSPYsc85MJNnTUi6GgR5NCn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQ",
228 }],
229 },
230 TestCase {
231 player: "2b83d2e0",
232 variants: None,
233 n: &[TestStep {
234 input: "0eRGgQWJGfT5rFHFj",
235 expected: "euHbygrCMLksxd",
236 }],
237 sig: &[TestStep {
238 input: "MMGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKn-znQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJA",
239 expected: "-MGZJMUucirzS_SnrSPYsc85CJNnTUi6GgR5NKnMznQEICACojE8MHS6S7uYq4TGjQX_D4aPk99hNU6wbTvorvVVMgIARwsSdQfJ",
240 }],
241 },
242 TestCase {
243 player: "638ec5c6",
244 variants: None,
245 n: &[TestStep {
246 input: "ZdZIqFPQK-Ty8wId",
247 expected: "1qov8-KM-yH",
248 }],
249 sig: &[TestStep {
250 input: "gN7a-hudCuAuPH6fByOk1_GNXN0yNMHShjZXS2VOgsEItAJz0tipeavEOmNdYN-wUtcEqD3bCXjc0iyKfAyZxCBGgIARwsSdQfJ2CJtt",
251 expected: "MhudCuAuP-6fByOk1_GNXN7gNHHShjyXS2VOgsEItAJz0tipeav0OmNdYN-wUtcEqD3bCXjc0iyKfAyZxCBGgIARwsSdQfJ2CJtt",
252 }],
253 },
254 TestCase {
255 player: "87644c66",
256 variants: None,
257 n: &[TestStep {
258 input: "ZdZIqFPQK-Ty8wId",
259 expected: "iF5NxEm1BYk",
260 }],
261 sig: &[TestStep {
262 input: "gN7a-hudCuAuPH6fByOk1_GNXN0yNMHShjZXS2VOgsEItAJz0tipeavEOmNdYN-wUtcEqD3bCXjc0iyKfAyZxCBGgIARwsSdQfJ2CJtt",
263 expected: "atJC2JfQdSswRAtgGBCxZyAfKyi0cjXCb3DqEctUw-NYdNmOEvIepit0zJAtIEsgOV2SXZjhSHMNy0NXNG_1kOyBf6HPuAuCduh-a7Ng",
264 }],
265 },
266];