File: //usr/share/nodejs/fast-glob/out/providers/sync.spec.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const sinon = require("sinon");
const sync_1 = require("../readers/sync");
const settings_1 = require("../settings");
const tests = require("../tests");
const sync_2 = require("./sync");
class TestProvider extends sync_2.default {
constructor(options) {
super(new settings_1.default(options));
this._reader = sinon.createStubInstance(sync_1.default);
}
get reader() {
return this._reader;
}
}
function getProvider(options) {
return new TestProvider(options);
}
describe('Providers → ProviderSync', () => {
describe('Constructor', () => {
it('should create instance of class', () => {
const provider = getProvider();
assert.ok(provider instanceof sync_2.default);
});
});
describe('.read', () => {
it('should return entries for dynamic task', () => {
const provider = getProvider();
const task = tests.task.builder().base('.').positive('*').build();
const entry = tests.entry.builder().path('root/file.txt').file().build();
provider.reader.dynamic.returns([entry]);
const expected = ['root/file.txt'];
const actual = provider.read(task);
assert.strictEqual(provider.reader.dynamic.callCount, 1);
assert.deepStrictEqual(actual, expected);
});
it('should return entries for static task', () => {
const provider = getProvider();
const task = tests.task.builder().base('.').static().positive('root/file.txt').build();
const entry = tests.entry.builder().path('root/file.txt').file().build();
provider.reader.static.returns([entry]);
const expected = ['root/file.txt'];
const actual = provider.read(task);
assert.strictEqual(provider.reader.static.callCount, 1);
assert.deepStrictEqual(actual, expected);
});
});
});