mirror of
https://github.com/scratchfoundation/gh-pages.git
synced 2024-12-01 11:36:57 -05:00
98 lines
2.4 KiB
JavaScript
98 lines
2.4 KiB
JavaScript
|
var path = require('path');
|
||
|
|
||
|
var assert = require('../helper').assert;
|
||
|
|
||
|
var util = require('../../lib/util');
|
||
|
|
||
|
describe('util', function() {
|
||
|
|
||
|
var files;
|
||
|
beforeEach(function() {
|
||
|
files = [
|
||
|
path.join('a1', 'b1', 'c2', 'd2.txt'),
|
||
|
path.join('a1', 'b2', 'c2', 'd1.txt'),
|
||
|
path.join('a2.txt'),
|
||
|
path.join('a1', 'b1', 'c1', 'd1.txt'),
|
||
|
path.join('a1', 'b1', 'c2', 'd1.txt'),
|
||
|
path.join('a1', 'b1.txt'),
|
||
|
path.join('a2', 'b1', 'c2.txt'),
|
||
|
path.join('a1', 'b1', 'c2', 'd3.txt'),
|
||
|
path.join('a1', 'b2', 'c1', 'd1.txt'),
|
||
|
path.join('a1.txt'),
|
||
|
path.join('a2', 'b1', 'c1.txt'),
|
||
|
path.join('a2', 'b1.txt')
|
||
|
].slice();
|
||
|
});
|
||
|
|
||
|
describe('byShortPath', function() {
|
||
|
it('sorts an array of filepaths, shortest first', function() {
|
||
|
files.sort(util.byShortPath);
|
||
|
|
||
|
var expected = [
|
||
|
path.join('a1.txt'),
|
||
|
path.join('a2.txt'),
|
||
|
path.join('a1', 'b1.txt'),
|
||
|
path.join('a2', 'b1.txt'),
|
||
|
path.join('a2', 'b1', 'c1.txt'),
|
||
|
path.join('a2', 'b1', 'c2.txt'),
|
||
|
path.join('a1', 'b1', 'c1', 'd1.txt'),
|
||
|
path.join('a1', 'b1', 'c2', 'd1.txt'),
|
||
|
path.join('a1', 'b1', 'c2', 'd2.txt'),
|
||
|
path.join('a1', 'b1', 'c2', 'd3.txt'),
|
||
|
path.join('a1', 'b2', 'c1', 'd1.txt'),
|
||
|
path.join('a1', 'b2', 'c2', 'd1.txt')
|
||
|
];
|
||
|
|
||
|
assert.deepEqual(files, expected);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('uniqueDirs', function() {
|
||
|
|
||
|
it('gets a list of unique directory paths', function() {
|
||
|
// not comparing order here, so we sort both
|
||
|
var got = util.uniqueDirs(files).sort();
|
||
|
|
||
|
var expected = [
|
||
|
'.',
|
||
|
'a1',
|
||
|
'a2',
|
||
|
path.join('a1', 'b1'),
|
||
|
path.join('a1', 'b1', 'c1'),
|
||
|
path.join('a1', 'b1', 'c2'),
|
||
|
path.join('a1', 'b2'),
|
||
|
path.join('a1', 'b2', 'c1'),
|
||
|
path.join('a1', 'b2', 'c2'),
|
||
|
path.join('a2', 'b1')
|
||
|
].sort();
|
||
|
|
||
|
assert.deepEqual(got, expected);
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
describe('dirsToCreate', function() {
|
||
|
|
||
|
it('gets a sorted list of directories to create', function() {
|
||
|
var got = util.dirsToCreate(files);
|
||
|
|
||
|
var expected = [
|
||
|
'.',
|
||
|
'a1',
|
||
|
'a2',
|
||
|
path.join('a1', 'b1'),
|
||
|
path.join('a1', 'b2'),
|
||
|
path.join('a2', 'b1'),
|
||
|
path.join('a1', 'b1', 'c1'),
|
||
|
path.join('a1', 'b1', 'c2'),
|
||
|
path.join('a1', 'b2', 'c1'),
|
||
|
path.join('a1', 'b2', 'c2')
|
||
|
];
|
||
|
|
||
|
assert.deepEqual(got, expected);
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|