Skip to content

Commit 8d251f3

Browse files
committed
Change test parsing to allow D & R on same test line
1 parent 6ccbfd4 commit 8d251f3

2 files changed

Lines changed: 42 additions & 59 deletions

File tree

test/pack-formats-tests.txt

Lines changed: 27 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -84,75 +84,48 @@ Types:
8484
"16w31a" (-) 2
8585
"16w32a" (-) 3
8686
"20w30a" (-) 5
87-
"20w45a" (-) 7
88-
"20w45a" (r) 7
87+
"20w45a" (r,d) 7,7
8988
"20w45a" (d) 6
9089
"20w46a" (d) 7
91-
"21w37a" (-) 7
92-
"21w37a" (r) 7
90+
"21w37a" (r,d) 7,7
9391
"21w37a" (d) 8
9492
"21w39a" (r) 8
95-
"22w11a" (r) 9
96-
"22w11a" (d) 10
93+
"22w11a" (r,d) 9,10
9794
"22w42a" (r) 11
9895
"22w44a" (r) 11
9996
"22w45a" (r) 12
10097
"23w03a" (d) 11
10198
"23w06a" (d) 12
10299
"23w13a" (r) 13
103100
"23w14a" (r) 14
104-
"23w16a" (r) 14
105-
"23w16a" (d) 14
106-
"23w17a" (r) 15
107-
"23w17a" (d) 14
108-
"23w18a" (r) 15
109-
"23w18a" (d) 15
110-
"23w31a" (r) 16
111-
"23w31a" (d) 16
112-
"23w32a" (r) 17
113-
"23w32a" (d) 17
101+
"23w16a" (r,d) 14,14
102+
"23w17a" (r,d) 15,14
103+
"23w18a" (r,d) 15,15
104+
"23w31a" (r,d) 16,16
105+
"23w32a" (r,d) 17,17
114106
"23w41a" (r) 18
115107
"23w42a" (r) 19
116-
"23w43a" (r) 20
117-
"23w43a" (d) 22
118-
"23w44a" (r) 20
119-
"23w44a" (d) 23
120-
"23w45a" (r) 21
121-
"23w45a" (d) 24
122-
"23w51b" (r) 22
123-
"23w51b" (d) 27
124-
"24w03a" (r) 24
125-
"24w03a" (d) 28
126-
"24w04a" (r) 24
127-
"24w04a" (d) 29
128-
"24w05a" (r) 25
129-
"24w05a" (d) 30
130-
"24w06a" (r) 26
131-
"24w06a" (d) 31
132-
"24w07a" (r) 26
133-
"24w07a" (d) 32
134-
"24w09a" (r) 28
135-
"24w09a" (d) 33
136-
"24w10a" (r) 28
137-
"24w10a" (d) 34
138-
"24w11a" (r) 29
139-
"24w11a" (d) 35
140-
"24w12a" (r) 30
141-
"24w12a" (d) 36
142-
"24w13a" (r) 31
143-
"24w13a" (d) 37
144-
"24w14a" (r) 31
145-
"24w14a" (d) 38
146-
"24w18a" (r) 33
147-
"24w18a" (d) 42
108+
"23w43a" (r,d) 20,22
109+
"23w44a" (r,d) 20,23
110+
"23w45a" (r,d) 21,24
111+
"23w51b" (r,d) 22,27
112+
"24w03a" (r,d) 24,28
113+
"24w04a" (r,d) 24,29
114+
"24w05a" (r,d) 25,30
115+
"24w06a" (r,d) 26,31
116+
"24w07a" (r,d) 26,32
117+
"24w09a" (r,d) 28,33
118+
"24w10a" (r,d) 28,34
119+
"24w11a" (r,d) 29,35
120+
"24w12a" (r,d) 30,36
121+
"24w13a" (r,d) 31,37
122+
"24w14a" (r,d) 31,38
123+
"24w18a" (r,d) 33,42
148124
"24w19a" (d) 43
149125
"24w20a" (d) 44
150-
"24w21a" (r) 34
151-
"24w21a" (d) 45
152-
"24w33a" (r) 35
153-
"24w33a" (d) 49
154-
"24w34a" (r) 36
155-
"24w34a" (d) 50
126+
"24w21a" (r,d) 34,45
127+
"24w33a" (r,d) 35,49
128+
"24w34a" (r,d) 36,50
156129

157130
=== Special cases ===
158131

test/test.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,24 @@ function testVersions([input, type], expected) {
3434
function testPackFormats() {
3535
const formatsTests = fs.readFileSync(path.join(__dirname, 'pack-formats-tests.txt'), { 'encoding': 'utf-8' })
3636
for (const line of formatsTests.split('\n')) {
37-
const parts = line.match(/^"(.*)" \((.)\) (\w+)/)
37+
const parts = line.match(/^"(.*)" \((r|d|r,d|-)\) (\w+|\w+,\w+)/)
3838
if (!parts)
3939
continue
4040

41-
const input = parts[1] || "[blank]"
42-
const type = { 'r': 'resource', 'd': 'data', '-': undefined }[parts[2]]
43-
const result = parts[3] === 'none' ? undefined : parts[3] === 'null' ? null : +parts[3]
44-
testPackFormat(input, type, result)
41+
const getAns = ans => ans === 'none' ? undefined : ans === 'null' ? null : +ans
42+
const [, lineName, lineType, lineAns] = parts
43+
const input = lineName || "[blank]"
44+
const type = { 'r': 'resource', 'd': 'data', 'b': 'both', '-': undefined }[lineType]
45+
if (type === 'both') {
46+
// multiple: data AND resource
47+
const [resourceAns, dataAns] = lineAns.split(',')
48+
testPackFormat(input, type, getAns(resourceAns))
49+
testPackFormat(input, type, getAns(dataAns))
50+
}
51+
else {
52+
// either data OR resource
53+
testPackFormat(input, type, getAns(lineAns))
54+
}
4555
}
4656
}
4757

0 commit comments

Comments
 (0)