2019-10-08 19:42:54 +07:00
|
|
|
import * as coverage from '../src/coverage';
|
|
|
|
|
|
|
|
describe('Config tests', () => {
|
2021-09-09 08:24:17 +07:00
|
|
|
it.each`
|
|
|
|
driver | php | os | output
|
|
|
|
${'PCOV'} | ${'7.4'} | ${'win32'} | ${'Add-Extension pcov,Disable-Extension xdebug false'}
|
2022-06-30 19:06:40 +07:00
|
|
|
${'pcov'} | ${'7.4'} | ${'win32'} | ${'$pcov_version = php -r "echo phpversion(\'pcov\');"'}
|
|
|
|
${'pcov'} | ${'7.4'} | ${'win32'} | ${'PCOV $pcov_version enabled as coverage driver'}
|
2021-09-09 08:24:17 +07:00
|
|
|
${'pcov'} | ${'7.0'} | ${'win32'} | ${'PHP 7.1 or newer is required'}
|
|
|
|
${'pcov'} | ${'5.6'} | ${'win32'} | ${'PHP 7.1 or newer is required'}
|
|
|
|
${'pcov'} | ${'7.4'} | ${'win32'} | ${'Add-Extension pcov,Disable-Extension xdebug false'}
|
|
|
|
${'pcov'} | ${'7.4'} | ${'linux'} | ${'add_extension pcov,disable_extension xdebug false'}
|
|
|
|
${'pcov'} | ${'7.4'} | ${'darwin'} | ${'add_brew_extension pcov,disable_extension xdebug false'}
|
|
|
|
${'xdebug'} | ${'7.4'} | ${'win32'} | ${'Add-Extension xdebug'}
|
2021-11-26 01:37:28 +07:00
|
|
|
${'xdebug3'} | ${'7.1'} | ${'win32'} | ${'xdebug3 is not supported on PHP 7.1'}
|
2021-09-09 08:24:17 +07:00
|
|
|
${'xdebug2'} | ${'7.4'} | ${'win32'} | ${'Add-Extension xdebug stable 2.9.8'}
|
|
|
|
${'xdebug'} | ${'8.0'} | ${'linux'} | ${'add_extension xdebug'}
|
|
|
|
${'xdebug3'} | ${'8.0'} | ${'linux'} | ${'add_extension xdebug'}
|
|
|
|
${'xdebug2'} | ${'7.4'} | ${'linux'} | ${'add_pecl_extension xdebug 2.9.8 zend_extension'}
|
2022-06-30 19:06:40 +07:00
|
|
|
${'xdebug'} | ${'7.4'} | ${'linux'} | ${'xdebug_version="$(php -r "echo phpversion(\'xdebug\');")"'}
|
|
|
|
${'xdebug'} | ${'7.4'} | ${'linux'} | ${'Xdebug $xdebug_version enabled as coverage driver'}
|
2021-09-09 08:24:17 +07:00
|
|
|
${'xdebug'} | ${'7.4'} | ${'darwin'} | ${'add_brew_extension xdebug'}
|
2021-11-26 01:37:28 +07:00
|
|
|
${'xdebug3'} | ${'7.1'} | ${'darwin'} | ${'xdebug3 is not supported on PHP 7.1'}
|
2021-09-09 08:24:17 +07:00
|
|
|
${'xdebug2'} | ${'7.4'} | ${'darwin'} | ${'add_brew_extension xdebug2'}
|
2021-11-26 01:37:28 +07:00
|
|
|
${'xdebug2'} | ${'8.0'} | ${'darwin'} | ${'xdebug2 is not supported on PHP 8.0'}
|
2021-09-09 08:24:17 +07:00
|
|
|
${'none'} | ${'7.4'} | ${'win32'} | ${'Disable-Extension xdebug false,Disable-Extension pcov false'}
|
|
|
|
${'none'} | ${'7.4'} | ${'linux'} | ${'disable_extension xdebug false,disable_extension pcov false'}
|
|
|
|
${'none'} | ${'7.4'} | ${'darwin'} | ${'disable_extension xdebug false,disable_extension pcov false'}
|
|
|
|
${'nocov'} | ${'7.x'} | ${'any'} | ${''}
|
|
|
|
${''} | ${'7.x'} | ${'any'} | ${''}
|
|
|
|
`(
|
|
|
|
'checking addCoverage with $driver on $os',
|
|
|
|
async ({driver, php, os, output}) => {
|
|
|
|
const script: string = await coverage.addCoverage(driver, php, os);
|
|
|
|
if (output) {
|
|
|
|
output.split(',').forEach((command: string) => {
|
|
|
|
expect(script).toContain(command);
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
expect(script).toEqual(output);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
2019-10-08 19:42:54 +07:00
|
|
|
});
|