Files
smartgulp/test/test.node.ts
T

48 lines
1.3 KiB
TypeScript

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<void>();
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<void>();
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();