Dry custom tools and extension code

This commit is contained in:
Shivam Mathur
2020-08-06 15:33:58 +05:30
parent f8b8d766d5
commit 188598ef9d
8 changed files with 171 additions and 248 deletions

View File

@ -13,8 +13,8 @@ describe('Extension tests', () => {
expect(win32).toContain('Remove-Extension intl');
expect(win32).toContain('Add-Phalcon phalcon4');
expect(win32).toContain('Add-Ioncube');
expect(win32).toContain('Add-OCI oci8');
expect(win32).toContain('Add-OCI pdo_oci');
expect(win32).toContain('Add-Oci oci8');
expect(win32).toContain('Add-Oci pdo_oci');
expect(win32).toContain('Add-Extension ast beta');
expect(win32).toContain('Add-Extension grpc stable 1.2.3');
expect(win32).toContain('Add-Extension inotify alpha 1.2.3');

View File

@ -17,15 +17,6 @@ httpm.HttpClient.prototype.get = jest.fn().mockImplementation(() => {
});
describe('Tools tests', () => {
it('checking getCommand', async () => {
expect(await tools.getCommand('linux', 'tool')).toBe('add_tool ');
expect(await tools.getCommand('darwin', 'tool')).toBe('add_tool ');
expect(await tools.getCommand('win32', 'tool')).toBe('Add-Tool ');
expect(await tools.getCommand('fedora', 'tool')).toContain(
'Platform fedora is not supported'
);
});
it('checking parseToolVersion', async () => {
expect(await tools.getToolVersion('latest')).toBe('latest');
expect(await tools.getToolVersion('1.2.3')).toBe('1.2.3');
@ -402,17 +393,6 @@ describe('Tools tests', () => {
expect(script).toContain('Platform fedora is not supported');
});
it('checking addCustomTool', async () => {
let script: string = await tools.addCustomTool('tool', '1.2.3', 'linux');
expect(script).toContain('tool.sh\nadd_tool 1.2.3');
script = await tools.addCustomTool('tool', '1.2.3', 'darwin');
expect(script).toContain('tool.sh\nadd_tool 1.2.3');
script = await tools.addCustomTool('tool', '1.2.3', 'win32');
expect(script).toContain('tool.ps1\nAdd-Tool 1.2.3');
});
it('checking addTools on linux', async () => {
const script: string = await tools.addTools(
'blackfire, blackfire-player, cs2pr, flex, grpc_php_plugin, php-cs-fixer, phplint, phpstan, phpunit, pecl, phinx, phinx:1.2.3, phive, php-config, phpize, protoc, symfony, wp-cli',

View File

@ -174,6 +174,15 @@ describe('Utils tests', () => {
);
});
it('checking getCommand', async () => {
expect(await utils.getCommand('linux', 'tool')).toBe('add_tool ');
expect(await utils.getCommand('darwin', 'tool')).toBe('add_tool ');
expect(await utils.getCommand('win32', 'tool')).toBe('Add-Tool ');
expect(await utils.getCommand('fedora', 'tool')).toContain(
'Platform fedora is not supported'
);
});
it('checking joins', async () => {
expect(await utils.joins('a', 'b', 'c')).toBe('a b c');
});
@ -186,4 +195,17 @@ describe('Utils tests', () => {
'Platform fedora is not supported'
);
});
it('checking customPackage', async () => {
const script_path: string = path.join('ext', 'pkg.sh');
expect(await utils.customPackage('pkg', 'ext', '1.2.3', 'linux')).toContain(
script_path + '\nadd_pkg 1.2.3'
);
expect(
await utils.customPackage('pdo_pkg', 'ext', '1.2.3', 'linux')
).toContain(script_path + '\nadd_pkg 1.2.3');
expect(
await utils.customPackage('pkg8', 'ext', '1.2.3', 'linux')
).toContain(script_path + '\nadd_pkg 1.2.3');
});
});