File: //usr/share/nodejs/fast-glob/out/utils/path.spec.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const path = require("path");
const util = require("./path");
describe('Utils → Path', () => {
describe('.unixify', () => {
it('should return path with converted slashes', () => {
const expected = 'directory/nested/file.md';
const actual = util.unixify('directory\\nested/file.md');
assert.strictEqual(actual, expected);
});
});
describe('.makeAbsolute', () => {
it('should return absolute filepath', () => {
const expected = path.join(process.cwd(), 'file.md');
const actual = util.makeAbsolute(process.cwd(), 'file.md');
assert.strictEqual(actual, expected);
});
});
describe('.escapePattern', () => {
it('should return pattern with escaped glob symbols', () => {
assert.strictEqual(util.escape('!abc'), '\\!abc');
assert.strictEqual(util.escape('*'), '\\*');
assert.strictEqual(util.escape('?'), '\\?');
assert.strictEqual(util.escape('()'), '\\(\\)');
assert.strictEqual(util.escape('{}'), '\\{\\}');
assert.strictEqual(util.escape('[]'), '\\[\\]');
assert.strictEqual(util.escape('@('), '\\@\\(');
assert.strictEqual(util.escape('!('), '\\!\\(');
assert.strictEqual(util.escape('*('), '\\*\\(');
assert.strictEqual(util.escape('?('), '\\?\\(');
assert.strictEqual(util.escape('+('), '\\+\\(');
});
it('should return pattern without additional escape characters', () => {
assert.strictEqual(util.escape('\\!abc'), '\\!abc');
assert.strictEqual(util.escape('\\*'), '\\*');
assert.strictEqual(util.escape('\\!\\('), '\\!\\(');
});
it('should return pattern without escape characters', () => {
assert.strictEqual(util.escape('abc!'), 'abc!');
assert.strictEqual(util.escape('abc/!abc'), 'abc/!abc');
assert.strictEqual(util.escape('+abc'), '+abc');
assert.strictEqual(util.escape('abc+'), 'abc+');
assert.strictEqual(util.escape('@abc'), '@abc');
assert.strictEqual(util.escape('abc@'), 'abc@');
});
});
describe('.removeLeadingDotCharacters', () => {
it('should return path without changes', () => {
assert.strictEqual(util.removeLeadingDotSegment('../a/b'), '../a/b');
assert.strictEqual(util.removeLeadingDotSegment('~/a/b'), '~/a/b');
assert.strictEqual(util.removeLeadingDotSegment('/a/b'), '/a/b');
assert.strictEqual(util.removeLeadingDotSegment('a/b'), 'a/b');
assert.strictEqual(util.removeLeadingDotSegment('..\\a\\b'), '..\\a\\b');
assert.strictEqual(util.removeLeadingDotSegment('~\\a\\b'), '~\\a\\b');
assert.strictEqual(util.removeLeadingDotSegment('\\a\\b'), '\\a\\b');
assert.strictEqual(util.removeLeadingDotSegment('a\\b'), 'a\\b');
});
it('should return path without leading dit characters', () => {
assert.strictEqual(util.removeLeadingDotSegment('./a/b'), 'a/b');
assert.strictEqual(util.removeLeadingDotSegment('.\\a\\b'), 'a\\b');
});
});
});