test
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
'use strict'; require('mocha'); const assert = require('assert').strict; const braces = require('..'); describe('Examples from README.md', () => { describe('Brace Expansion vs. Compilation', () => { it('Compiled', () => { assert.deepEqual(braces('a/{x,y,z}/b'), ['a/(x|y|z)/b']); assert.deepEqual(braces(['a/{01..20}/b', 'a/{1..5}/b']), [ 'a/(0[1-9]|1[0-9]|20)/b', 'a/([1-5])/b' ]); }); it('Expanded', () => { assert.deepEqual(braces('a/{x,y,z}/b', { expand: true }), ['a/x/b', 'a/y/b', 'a/z/b']); assert.deepEqual(braces.expand('{01..10}'), [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10' ]); }); }); describe('Sequences', () => { it('first set of examples', () => { assert.deepEqual(braces.expand('{1..3}'), ['1', '2', '3']); assert.deepEqual(braces.expand('a/{1..3}/b'), ['a/1/b', 'a/2/b', 'a/3/b']); assert.deepEqual(braces('{a..c}', { expand: true }), ['a', 'b', 'c']); assert.deepEqual(braces('foo/{a..c}', { expand: true }), ['foo/a', 'foo/b', 'foo/c']); }); it('zero-padding examples', () => { // supports zero-padded ranges assert.deepEqual(braces('a/{01..03}/b'), ['a/(0[1-3])/b']); assert.deepEqual(braces('a/{001..300}/b'), ['a/(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|300)/b']); }); }); });