This commit is contained in:
Tutur33
2023-11-24 22:35:41 +01:00
parent 3c0b507a93
commit 7644b2a0f7
45165 changed files with 4803356 additions and 3 deletions
+37
View File
@@ -0,0 +1,37 @@
'use strict'
const tap = require('tap')
const index = require('./index.js')
const { readdirSync } = require('fs')
const { basename } = require('path')
tap.test(
'index exports exactly all non-test files excluding itself',
async t => {
// Read all files in the `util` directory
const files = readdirSync(__dirname)
for (const file of files) {
const kebabName = basename(file, '.js')
const snakeName = kebabName.split('-').map((part, idx) => {
if (idx === 0) return part
return part[0].toUpperCase() + part.slice(1)
}).join('')
if (file.endsWith('.test.js') === false && file !== 'index.js') {
// We expect all files to be exported except…
t.ok(index[snakeName], `exports ${snakeName}`)
} else {
// …test files and the index file itself those must not be exported
t.notOk(index[snakeName], `does not export ${snakeName}`)
}
// Remove the exported file from the index object
delete index[snakeName]
}
// Now the index is expected to be empty, as nothing else should be
// exported from it
t.same(index, {}, 'does not export anything else')
}
)