pokemon-showdown-client/test/check-filenames
Guangcong Luo 91f14bd320 Add test/check-filenames script
This script will make sure a directory of sprites (or cries, or
anything else) is in PS `spriteid` format.
2020-02-05 11:30:18 -08:00

32 lines
844 B
JavaScript
Executable File

#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const Dex = require('../data/pokemon-showdown/.sim-dist/dex').Dex;
const dir = path.resolve(process.argv[2]);
const ext = process.argv[3];
process.chdir(`${__dirname}/..`);
const files = fs.readdirSync(dir);
for (file of files) {
if (file === '.DS_Store') {
// silently remove cruft
fs.unlinkSync(`${dir}/${file}`);
continue;
}
if (!file.endsWith(ext)) {
console.log(`${file}: bad extension`);
continue;
}
const speciesid = file.slice(0, -ext.length);
const pokemon = Dex.getTemplate(speciesid);
if (!pokemon.exists) {
console.log(`${file}: not a pokemon`);
} else if (pokemon.spriteid !== speciesid) {
console.log(`${file}: spriteid should be ${pokemon.spriteid}`);
}
}