48 lines
1.3 KiB
TypeScript
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();
|