Skip to content

Commit 587a134

Browse files
authored
Add an unicity test for features. (#824)
And remove one duplicate
1 parent 00fc3e3 commit 587a134

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

data/pc/common/features.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -289,14 +289,6 @@
289289
"description": "dimension is an nbt compound",
290290
"versions": ["1.16.2", "latest"]
291291
},
292-
{
293-
"name": "dimensionDataIsAvailable",
294-
"description": "dimensionData is available, describing additional dimension information",
295-
"versions": [
296-
"1.17",
297-
"latest"
298-
]
299-
},
300292
{
301293
"name": "doesntHaveChestType",
302294
"description": "chests don't have a type property",

tools/js/test/test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,21 @@ minecraftTypes.forEach(function (type) {
5757
})
5858
})
5959
})
60+
describe('features.json quality is good', function () {
61+
it('there is no duplicate feature in features.json', () => {
62+
const features = require('../../../data/' + type + '/common/features.json')
63+
const countPerFeature = {}
64+
for (const feature of features) {
65+
countPerFeature[feature.name] = countPerFeature[feature.name] ? countPerFeature[feature.name] + 1 : 1
66+
}
67+
let duplicateCount = 0
68+
for (const [name, count] of Object.entries(countPerFeature)) {
69+
if (count > 1) {
70+
console.log(`feature ${name} is duplicated ${count} times, please remove ${count - 1}`)
71+
duplicateCount += 1
72+
}
73+
}
74+
assert.equal(duplicateCount, 0, `${duplicateCount} duplicates found. Please remove them.`)
75+
})
76+
})
6077
})

0 commit comments

Comments
 (0)