-
-
Notifications
You must be signed in to change notification settings - Fork 365
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #55 from shivammathur/develop
Improve code and examples
- Loading branch information
Showing
31 changed files
with
1,049 additions
and
589 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
import * as config from '../src/config'; | ||
|
||
describe('Config tests', () => { | ||
it('checking addINIValuesOnWindows', async () => { | ||
let win32: string = await config.addINIValues( | ||
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata', | ||
'win32' | ||
); | ||
expect(win32).toContain( | ||
'Add-Content C:\\tools\\php\\php.ini "post_max_size=256M"' | ||
); | ||
expect(win32).toContain( | ||
'Add-Content C:\\tools\\php\\php.ini "short_open_tag=On"' | ||
); | ||
expect(win32).toContain( | ||
'Add-Content C:\\tools\\php\\php.ini "date.timezone=Asia/Kolkata"' | ||
); | ||
|
||
win32 = await config.addINIValues( | ||
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata', | ||
'fedora' | ||
); | ||
expect(win32).toContain('Platform fedora is not supported'); | ||
}); | ||
|
||
it('checking addINIValuesOnLinux', async () => { | ||
let linux: string = await config.addINIValues( | ||
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata', | ||
'linux' | ||
); | ||
expect(linux).toContain('echo "post_max_size=256M" >> $ini_file'); | ||
expect(linux).toContain('echo "short_open_tag=On" >> $ini_file'); | ||
expect(linux).toContain('echo "date.timezone=Asia/Kolkata" >> $ini_file'); | ||
|
||
linux = await config.addINIValues( | ||
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata', | ||
'fedora' | ||
); | ||
expect(linux).toContain('Platform fedora is not supported'); | ||
}); | ||
|
||
it('checking addINIValuesOnDarwin', async () => { | ||
let darwin: string = await config.addINIValues( | ||
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata', | ||
'darwin' | ||
); | ||
expect(darwin).toContain('echo "post_max_size=256M" >> $ini_file'); | ||
expect(darwin).toContain('echo "short_open_tag=On" >> $ini_file'); | ||
expect(darwin).toContain('echo "date.timezone=Asia/Kolkata" >> $ini_file'); | ||
|
||
darwin = await config.addINIValues( | ||
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata', | ||
'fedora' | ||
); | ||
expect(darwin).toContain('Platform fedora is not supported'); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
import * as config from '../src/config'; | ||
import * as coverage from '../src/coverage'; | ||
import * as extensions from '../src/coverage'; | ||
|
||
jest.mock('../src/extensions', () => ({ | ||
addExtension: jest.fn().mockImplementation(extension => { | ||
return 'addExtension ' + extension + '\n'; | ||
}) | ||
})); | ||
|
||
describe('Config tests', () => { | ||
it('checking addCoverage with PCOV on windows', async () => { | ||
let win32: string = await coverage.addCoverage('pcov', '7.4', 'win32'); | ||
expect(win32).toContain('addExtension pcov'); | ||
expect(win32).toContain( | ||
'if(php -m | findstr -i xdebug) { Disable-PhpExtension xdebug C:\\tools\\php' | ||
); | ||
|
||
win32 = await coverage.addCoverage('pcov', '7.0', 'win32'); | ||
expect(win32).toContain('PCOV requires PHP 7.1 or newer'); | ||
|
||
win32 = await coverage.addCoverage('pcov', '5.6', 'win32'); | ||
expect(win32).toContain('PCOV requires PHP 7.1 or newer'); | ||
}); | ||
|
||
it('checking addCoverage with PCOV on linux', async () => { | ||
let linux: string = await coverage.addCoverage('pcov', '7.4', 'linux'); | ||
expect(linux).toContain('addExtension pcov'); | ||
expect(linux).toContain('sudo sed -i "/xdebug/d" $ini_file'); | ||
expect(linux).toContain('sudo phpdismod xdebug'); | ||
}); | ||
|
||
it('checking addCoverage with PCOV on darwin', async () => { | ||
let darwin: string = await coverage.addCoverage('pcov', '7.4', 'darwin'); | ||
expect(darwin).toContain('addExtension pcov'); | ||
}); | ||
|
||
it('checking addCoverage with Xdebug on windows', async () => { | ||
let win32: string = await coverage.addCoverage('xdebug', '7.3', 'win32'); | ||
expect(win32).toContain('addExtension xdebug'); | ||
}); | ||
|
||
it('checking addCoverage with Xdebug on linux', async () => { | ||
let linux: string = await coverage.addCoverage('xdebug', '7.4', 'linux'); | ||
expect(linux).toContain('addExtension xdebug'); | ||
}); | ||
|
||
it('checking addCoverage with Xdebug on darwin', async () => { | ||
let darwin: string = await coverage.addCoverage('xdebug', '7.4', 'darwin'); | ||
expect(darwin).toContain('addExtension xdebug'); | ||
}); | ||
|
||
it('checking disableCoverage windows', async () => { | ||
let win32 = await coverage.addCoverage('none', '7.4', 'win32'); | ||
expect(win32).toContain('Disable-PhpExtension xdebug'); | ||
expect(win32).toContain('Disable-PhpExtension pcov'); | ||
}); | ||
|
||
it('checking disableCoverage on linux', async () => { | ||
let linux: string = await coverage.addCoverage('none', '7.4', 'linux'); | ||
expect(linux).toContain('sudo phpdismod xdebug'); | ||
expect(linux).toContain('sudo phpdismod pcov'); | ||
expect(linux).toContain('sudo sed -i "/xdebug/d" $ini_file'); | ||
expect(linux).toContain('sudo sed -i "/pcov/d" $ini_file'); | ||
}); | ||
|
||
it('checking disableCoverage on darwin', async () => { | ||
let darwin: string = await coverage.addCoverage('none', '7.4', 'darwin'); | ||
expect(darwin).toContain('sudo sed -i \'\' "/xdebug/d" $ini_file'); | ||
expect(darwin).toContain('sudo sed -i \'\' "/pcov/d" $ini_file'); | ||
}); | ||
|
||
it('checking no or invalid coverage driver', async () => { | ||
let nocov: string = await coverage.addCoverage('nocov', '7.x', 'any'); | ||
expect(nocov).toEqual(''); | ||
|
||
nocov = await coverage.addCoverage('', '7.x', 'any'); | ||
expect(nocov).toEqual(''); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
import * as extensions from '../src/extensions'; | ||
|
||
let valid_extensions = ['xdebug', 'pcov']; | ||
jest.mock('../src/pecl', () => ({ | ||
checkPECLExtension: jest.fn().mockImplementation(extension => { | ||
return valid_extensions.indexOf(extension) !== -1; | ||
}) | ||
})); | ||
|
||
describe('Extension tests', () => { | ||
it('checking addExtensionOnWindows', async () => { | ||
let win32: string = await extensions.addExtension( | ||
'xdebug, pcov', | ||
'7.2', | ||
'win32' | ||
); | ||
expect(win32).toContain('Install-PhpExtension xdebug'); | ||
expect(win32).toContain('Install-PhpExtension pcov'); | ||
win32 = await extensions.addExtension('xdebug, pcov', '7.4', 'win32'); | ||
const extension_url: string = | ||
'https://xdebug.org/files/php_xdebug-2.8.0beta2-7.4-vc15.dll'; | ||
expect(win32).toContain( | ||
'Invoke-WebRequest -Uri ' + | ||
extension_url + | ||
' -OutFile C:\\tools\\php\\ext\\php_xdebug.dll' | ||
); | ||
expect(win32).toContain('Install-PhpExtension pcov'); | ||
|
||
win32 = await extensions.addExtension('does_not_exist', '7.2', 'win32'); | ||
expect(win32).toContain('Could not find does_not_exist for PHP7.2 on PECL'); | ||
|
||
win32 = await extensions.addExtension('xdebug', '7.2', 'fedora'); | ||
expect(win32).toContain('Platform fedora is not supported'); | ||
}); | ||
|
||
it('checking addExtensionOnLinux', async () => { | ||
let linux: string = await extensions.addExtension( | ||
'xdebug, pcov', | ||
'7.2', | ||
'linux' | ||
); | ||
expect(linux).toContain( | ||
'sudo DEBIAN_FRONTEND=noninteractive apt install -y php7.2-xdebug' | ||
); | ||
expect(linux).toContain( | ||
'sudo DEBIAN_FRONTEND=noninteractive apt install -y php7.2-pcov' | ||
); | ||
|
||
linux = await extensions.addExtension('xdebug, pcov', '7.4', 'linux'); | ||
expect(linux).toContain('./xdebug.sh'); | ||
expect(linux).toContain('./pcov.sh'); | ||
|
||
linux = await extensions.addExtension('xdebug', '7.2', 'fedora'); | ||
expect(linux).toContain('Platform fedora is not supported'); | ||
}); | ||
|
||
it('checking addExtensionOnDarwin', async () => { | ||
let darwin: string = await extensions.addExtension( | ||
'xdebug, pcov', | ||
'7.2', | ||
'darwin' | ||
); | ||
expect(darwin).toContain('sudo pecl install xdebug'); | ||
expect(darwin).toContain('sudo pecl install pcov'); | ||
|
||
darwin = await extensions.addExtension('pcov', '5.6', 'darwin'); | ||
expect(darwin).toContain('sudo pecl install pcov'); | ||
|
||
darwin = await extensions.addExtension('pcov', '7.2', 'darwin'); | ||
expect(darwin).toContain('sudo pecl install pcov'); | ||
|
||
darwin = await extensions.addExtension('xdebug', '5.6', 'darwin'); | ||
expect(darwin).toContain('sudo pecl install xdebug-2.5.5'); | ||
|
||
darwin = await extensions.addExtension('xdebug', '7.4', 'darwin'); | ||
expect(darwin).toContain('sh ./xdebug_darwin.sh'); | ||
|
||
darwin = await extensions.addExtension('pcov', '7.4', 'darwin'); | ||
expect(darwin).toContain('sh ./pcov.sh'); | ||
|
||
darwin = await extensions.addExtension('xdebug', '7.2', 'darwin'); | ||
expect(darwin).toContain('sudo pecl install xdebug'); | ||
|
||
darwin = await extensions.addExtension('does_not_exist', '7.2', 'darwin'); | ||
expect(darwin).toContain( | ||
'Could not find does_not_exist for PHP7.2 on PECL' | ||
); | ||
|
||
darwin = await extensions.addExtension('xdebug', '7.2', 'fedora'); | ||
expect(darwin).toContain('Platform fedora is not supported'); | ||
}); | ||
}); |
Oops, something went wrong.