UNPKG

@eluvio/elv-js-helpers

Version:

A collection of Javascript helper functions used by several Eluvio libraries.

90 lines (79 loc) 3.06 kB
// Creates placeholders for missing unit tests // Also mirrors directory structure of /src to test/unit/src // const fs = require('fs') // const path = require('path') const {mirrorDirStructure} = require('./dirUtils') // const {newUnitTestFileText, prettify} = require('./processJSDocExample') // const mirror = (sourcePathStr, destPathStr) => { // console.log(`Processing ${sourcePathStr}`) // // let createCount = 0 // let problemCount = 0 // let skipCount = 0 // // const subDirs = subdirNameList(sourcePathStr) // for (const subDir of subDirs) { // const targetSubdir = path.join(destPathStr, subDir) // const existing = fs.lstatSync(targetSubdir, {throwIfNoEntry: false}) // if (existing) { // if (!existing.isDirectory()) throw targetSubdir + ' already exists but is not a directory.' // } else { // fs.mkdirSync(targetSubdir) // } // const sourceSubdir = path.join(sourcePathStr, subDir) // const results = mirror(sourceSubdir, targetSubdir) // createCount += results.createCount // problemCount += results.problemCount // skipCount += results.skipCount // } // // const jsFiles = jsFileBasenamesList(sourcePathStr) // for (const jsFile of jsFiles) { // const scriptFile = path.join(sourcePathStr, jsFile + '.js') // const scriptFileAbsPath = path.resolve(scriptFile) // const targetFile = path.join(destPathStr, jsFile + '.test.js') // const targetFileAbsPath = path.resolve(targetFile) // const existing = fs.lstatSync(targetFile, {throwIfNoEntry: false}) // if (existing) { // if (!existing.isFile()) throw targetFile + ' already exists but is not a file.' // } else { // // const example = jsDocExample(scriptFile) // if (!example) { // console.warn(' @example not found in ' + scriptFile + ', skipping...') // skipCount += 1 // } else { // console.log(' CREATING ' + targetFile + '...') // const test = jsDocTest(example, scriptFileAbsPath) // const contents = newUnitTestFileText(scriptFileAbsPath, test) // fs.writeFileSync(targetFile, contents) // createCount += 1 // // apply `prettier` to fix indentation // const result = prettify(targetFileAbsPath) // if(result.status !== 0) { // problemCount += 1 // console.error(`File failed prettification: ${targetFile}`) // console.log(result.output.map(x=>x && x.toString()).join('\n')) // } // } // } // } // // return {createCount, problemCount, skipCount} // } const sourceDir = process.argv[2] const targetDir = process.argv[3] if (!sourceDir || !targetDir) { console.log(`USAGE: node createUnitTestDirsAndFiles.js srcDir targetDir ` ) process.exit(1) } mirrorDirStructure(sourceDir,targetDir) // const {createCount, problemCount, skipCount} = mirrorDirStructure( // SRC_DIR, // UNIT_TEST_SRC_DIR // ) // // console.log(`FINISHED - created: ${createCount}, skipped: ${skipCount}, problems: ${problemCount}`)