You've already forked hugo-extended
mirror of
https://github.com/jakejarvis/hugo-extended.git
synced 2025-07-03 14:36:38 -04:00
feat(getBinalyName): add support for Hugo v0.16 (#2)
This commit is contained in:
226
test/getBinalyName.js
Normal file
226
test/getBinalyName.js
Normal file
@ -0,0 +1,226 @@
|
||||
const _ = require('lodash');
|
||||
const assert = require('assert');
|
||||
const getBinalyName = require('../lib/getBinalyName');
|
||||
|
||||
describe('#getBinalyName', () => {
|
||||
_.flatMapDeep([
|
||||
['0.10', '0.11', '0.12', '0.13', '0.14', '0.15'].map(version => [{
|
||||
version,
|
||||
platform: 'darwin',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_darwin_386.zip`,
|
||||
exe: `hugo_${version}_darwin_386`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'darwin',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_darwin_amd64.zip`,
|
||||
exe: `hugo_${version}_darwin_amd64`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'freebsd',
|
||||
arch: 'arm',
|
||||
expected: {
|
||||
comp: `hugo_${version}_freebsd_arm.zip`,
|
||||
exe: `hugo_${version}_freebsd_arm`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'freebsd',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_freebsd_386.zip`,
|
||||
exe: `hugo_${version}_freebsd_386`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'freebsd',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_freebsd_amd64.zip`,
|
||||
exe: `hugo_${version}_freebsd_amd64`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'linux',
|
||||
arch: 'arm',
|
||||
expected: {
|
||||
comp: `hugo_${version}_linux_arm.tar.gz`,
|
||||
exe: `hugo_${version}_linux_arm`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'linux',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_linux_386.tar.gz`,
|
||||
exe: `hugo_${version}_linux_386`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'linux',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_linux_amd64.tar.gz`,
|
||||
exe: `hugo_${version}_linux_amd64`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'win32',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: version === '0.15' ? `hugo_${version}_windows_386_32-bit-only.zip` : `hugo_${version}_windows_386.zip`,
|
||||
exe: `hugo_${version}_windows_386.exe`
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'win32',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_windows_amd64.zip`,
|
||||
exe: `hugo_${version}_windows_amd64.exe`
|
||||
}
|
||||
}]),
|
||||
['0.16'].map(version => [{
|
||||
version,
|
||||
platform: 'darwin',
|
||||
arch: 'arm',
|
||||
expected: {
|
||||
comp: `hugo_${version}_darwin-arm32.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'darwin',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_osx-32bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'darwin',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_osx-64bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'freebsd',
|
||||
arch: 'arm',
|
||||
expected: {
|
||||
comp: `hugo_${version}_freebsd-arm32.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'freebsd',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_freebsd-32bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'freebsd',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_freebsd-64bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'linux',
|
||||
arch: 'arm',
|
||||
expected: {
|
||||
comp: `hugo_${version}_linux-arm64.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'linux',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_linux-32bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'linux',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_linux-64bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'sunos',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_solaris-64bit.tgz`,
|
||||
exe: 'hugo'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'win32',
|
||||
arch: 'ia32',
|
||||
expected: {
|
||||
comp: `hugo_${version}_windows-32bit.zip`,
|
||||
exe: 'hugo.exe'
|
||||
}
|
||||
}, {
|
||||
version,
|
||||
platform: 'win32',
|
||||
arch: 'x64',
|
||||
expected: {
|
||||
comp: `hugo_${version}_windows-64bit.zip`,
|
||||
exe: 'hugo.exe'
|
||||
}
|
||||
}])
|
||||
]).forEach(test => {
|
||||
it(`should return hugo binaly name with version: ${test.version}, platform: ${test.platform}, arch: ${test.arch}`, () => {
|
||||
assert.deepStrictEqual(getBinalyName(test.version, test.platform, test.arch), test.expected);
|
||||
});
|
||||
});
|
||||
|
||||
['0.9', '0.8', '0.7'].forEach(v => {
|
||||
it(`should throw error when path an unsupported hugoVersion: ${v}`, () => {
|
||||
try {
|
||||
getBinalyName(v, process.platform, process.arch);
|
||||
assert.fail('unexpected success');
|
||||
} catch (err) {
|
||||
assert(err instanceof Error);
|
||||
assert.strictEqual(err.message, `hugoVersion<0.10 is not supported: ${v}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
_.flatMapDeep([
|
||||
['0.10', '0.11', '0.12', '0.13', '0.14', '0.15'].map(version => [{
|
||||
version,
|
||||
platform: 'darwin',
|
||||
arch: 'arn'
|
||||
}, {
|
||||
version,
|
||||
platform: 'sunos',
|
||||
arch: 'x64'
|
||||
}])
|
||||
]).forEach(test => {
|
||||
it(`should throw error when path an unsupported version: ${test.version}, platform: ${test.platform}, arch: ${test.arch}`, () => {
|
||||
try {
|
||||
getBinalyName(test.version, test.platform, test.arch);
|
||||
assert.fail('unexpected success');
|
||||
} catch (err) {
|
||||
assert(err instanceof Error);
|
||||
assert.strictEqual(err.message, `Can't detect binaly name. Check your platform: ${test.platform}, arch: ${test.arch}, version: ${test.version}.
|
||||
For more info: https://github.com/fenneclab/hugo-bin/blob/master/test/getBinalyName.js`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
Reference in New Issue
Block a user