71 lines
1.6 KiB
TypeScript
71 lines
1.6 KiB
TypeScript
import * as assert from 'assert';
|
|
import * as fs from 'fs';
|
|
|
|
import * as rimraf from 'rimraf';
|
|
|
|
import { stat, statSync, Settings } from '.';
|
|
|
|
describe('Package', () => {
|
|
before(() => {
|
|
rimraf.sync('fixtures');
|
|
|
|
fs.mkdirSync('fixtures');
|
|
fs.mkdirSync('fixtures/a');
|
|
fs.symlinkSync('a', 'fixtures/b', 'junction');
|
|
});
|
|
|
|
after(() => {
|
|
rimraf.sync('fixtures');
|
|
});
|
|
|
|
describe('.stat', () => {
|
|
it('should work without options or settings', (done) => {
|
|
stat('fixtures/b', (error, stats) => {
|
|
assert.strictEqual(error, null);
|
|
assert.ok(stats);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should work with options', (done) => {
|
|
stat('fixtures/b', { markSymbolicLink: true }, (error, stats) => {
|
|
assert.strictEqual(error, null);
|
|
assert.strictEqual(stats.isSymbolicLink(), true);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('should work with settings', (done) => {
|
|
const settings = new Settings({ markSymbolicLink: true });
|
|
|
|
stat('fixtures/b', settings, (error, stats) => {
|
|
assert.strictEqual(error, null);
|
|
assert.strictEqual(stats.isSymbolicLink(), true);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('.statSync', () => {
|
|
it('should work without options or settings', () => {
|
|
const actual = statSync('fixtures/b');
|
|
|
|
assert.ok(actual);
|
|
});
|
|
|
|
it('should work with options', () => {
|
|
const actual = statSync('fixtures/b', { markSymbolicLink: true });
|
|
|
|
assert.strictEqual(actual.isSymbolicLink(), true);
|
|
});
|
|
|
|
it('should work with settings', () => {
|
|
const settings = new Settings({ markSymbolicLink: true });
|
|
|
|
const actual = statSync('fixtures/b', settings);
|
|
|
|
assert.strictEqual(actual.isSymbolicLink(), true);
|
|
});
|
|
});
|
|
});
|