import { expect, tap } from '@git.zone/tstest/tapbundle'; import * as smartgulp from '../ts/index.js'; import * as gulpFunction from '@push.rocks/gulp-function'; import * as smartpromise from '@push.rocks/smartpromise'; import { SmartFile } from '@push.rocks/smartfile'; tap.test('smartgulp.src should read a directory', async () => { const done = smartpromise.defer(); const filePaths: string[] = []; smartgulp .src(['./test/testfiles/**/*.md']) .pipe( gulpFunction.forEach(async (fileArg: SmartFile) => { filePaths.push(fileArg.path); }) ) .pipe( gulpFunction.atEnd(async () => { done.resolve(); }) ); await done.promise; expect(filePaths.some((filePathArg) => filePathArg.endsWith('.md'))).toBeTrue(); }); tap.test('smartgulp should replace files', async () => { const done = smartpromise.defer(); const filePaths: string[] = []; smartgulp .src(['./test/testfiles/**/*.md']) .pipe( gulpFunction.forEach(async (fileArg: SmartFile) => { filePaths.push(fileArg.path); }) ) .pipe( gulpFunction.atEnd(async () => { done.resolve(); }) ) .pipe(smartgulp.replace()); await done.promise; expect(filePaths.some((filePathArg) => filePathArg.endsWith('.md'))).toBeTrue(); }); export default tap.start();