2019-10-08 19:42:54 +07:00
import * as extensions from '../src/extensions' ;
describe ( 'Extension tests' , ( ) = > {
2021-10-06 02:35:47 +07:00
it . each `
extension | version | output
$ { 'none' } | $ { '7.4' } | $ { 'Disable-AllShared' }
$ { 'Xdebug' } | $ { '7.4' } | $ { 'Add-Extension xdebug' }
$ { ':intl' } | $ { '7.4' } | $ { 'Disable-Extension intl' }
$ { 'phalcon4' } | $ { '7.4' } | $ { 'Add-Phalcon phalcon4' }
$ { 'pecl_http' } | $ { '7.4' } | $ { 'Add-Http' }
$ { 'ioncube' } | $ { '7.4' } | $ { 'Add-Ioncube' }
$ { 'oci8' } | $ { '7.4' } | $ { 'Add-Oci oci8' }
$ { 'pdo_oci' } | $ { '7.4' } | $ { 'Add-Oci pdo_oci' }
$ { 'ast-beta' } | $ { '7.4' } | $ { 'Add-Extension ast beta' }
$ { 'grpc-1.2.3' } | $ { '7.4' } | $ { 'Add-Extension grpc stable 1.2.3' }
$ { 'inotify-1.2.3alpha2' } | $ { '7.4' } | $ { 'Add-Extension inotify alpha 1.2.3' }
$ { 'sqlsrv-1.2.3preview1' } | $ { '7.4' } | $ { 'Add-Extension sqlsrv devel 1.2.3' }
$ { 'pcov' } | $ { '5.6' } | $ { 'Add-Log "$cross" "pcov" "pcov is not supported on PHP 5.6"' }
$ { 'xdebug2' } | $ { '7.2' } | $ { 'Add-Extension xdebug stable 2.9.8' }
$ { 'mysql' } | $ { '7.4' } | $ { 'Add-Extension mysqli' }
$ { 'mysql' } | $ { '7.4' } | $ { 'Add-Extension mysqlnd' }
$ { 'mysql' } | $ { '5.5' } | $ { 'Add-Extension mysql' }
$ { 'mysql' } | $ { '5.5' } | $ { 'Add-Extension mysqli' }
$ { 'mysql' } | $ { '5.5' } | $ { 'Add-Extension mysqlnd' }
$ { 'phalcon3' } | $ { '7.2' } | $ { 'Add-Phalcon phalcon3' }
$ { 'blackfire' } | $ { '7.3' } | $ { 'Add-Blackfire blackfire' }
$ { 'blackfire-1.31.0' } | $ { '7.3' } | $ { 'Add-Blackfire blackfire-1.31.0' }
$ { 'mongodb-mongodb/mongo-php-driver@master' } | $ { '7.3' } | $ { 'Add-Log "$cross" "mongodb-mongodb/mongo-php-driver@master" "mongodb-mongodb/mongo-php-driver@master is not supported on PHP 7.3"' }
` (
'checking addExtensionOnWindows for extension $extension on version $version' ,
async ( { extension , version , output } ) = > {
expect (
await extensions . addExtension ( extension , version , 'win32' )
) . toContain ( output ) ;
}
) ;
it . each `
extension | version | output
$ { 'none' } | $ { '7.4' } | $ { 'disable_all_shared' }
$ { 'Xdebug' } | $ { '7.4' } | $ { 'add_extension xdebug' }
$ { ':intl' } | $ { '7.4' } | $ { 'disable_extension intl' }
$ { 'ast-beta' } | $ { '7.4' } | $ { 'add_unstable_extension ast beta extension' }
$ { 'pdo_mysql' } | $ { '7.4' } | $ { 'add_pdo_extension mysql' }
$ { 'pdo-odbc' } | $ { '7.4' } | $ { 'add_pdo_extension odbc' }
$ { 'grpc-1.2.3' } | $ { '7.4' } | $ { 'add_pecl_extension grpc 1.2.3 extension' }
$ { 'xdebug-alpha' } | $ { '7.4' } | $ { 'add_unstable_extension xdebug alpha zend_extension' }
$ { 'pcov' } | $ { '5.6' } | $ { 'add_log "$cross" "pcov" "pcov is not supported on PHP 5.6' }
$ { 'gearman' } | $ { '5.6' } | $ { 'add_gearman' }
$ { 'gearman' } | $ { '7.4' } | $ { 'add_gearman' }
$ { 'couchbase' } | $ { '5.6' } | $ { 'add_couchbase' }
$ { 'couchbase' } | $ { '7.4' } | $ { 'add_couchbase' }
$ { 'pdo_cubrid' } | $ { '7.0' } | $ { 'add_cubrid pdo_cubrid' }
$ { 'pdo_cubrid' } | $ { '7.4' } | $ { 'add_pdo_extension cubrid' }
$ { 'xdebug2' } | $ { '7.2' } | $ { 'add_pecl_extension xdebug 2.9.8 zend_extension' }
$ { 'phalcon3' } | $ { '7.3' } | $ { 'add_phalcon phalcon3' }
$ { 'ioncube' } | $ { '7.3' } | $ { 'add_ioncube' }
$ { 'geos' } | $ { '7.3' } | $ { 'add_geos' }
$ { 'pecl_http' } | $ { '7.3' } | $ { 'add_http' }
$ { 'http-1.2.3' } | $ { '7.3' } | $ { 'add_http http-1.2.3' }
$ { 'oci8' } | $ { '7.3' } | $ { 'add_oci oci8' }
$ { 'pdo_oci' } | $ { '7.3' } | $ { 'add_oci pdo_oci' }
$ { 'blackfire' } | $ { '7.3' } | $ { 'add_blackfire blackfire' }
$ { 'blackfire-1.31.0' } | $ { '7.3' } | $ { 'add_blackfire blackfire-1.31.0' }
$ { 'intl-65.1' } | $ { '5.6' } | $ { 'add_intl intl-65.1' }
$ { 'mongodb-mongodb/mongo-php-driver@master' } | $ { '7.3' } | $ { 'add_extension_from_source mongodb https://github.com mongodb mongo-php-driver master extension' }
` ('checking addExtensionOnLinux for extension $ extension on version $ version', async ({extension, version, output}) => {
expect ( await extensions . addExtension ( extension , version , 'linux' ) ) . toContain ( output ) ;
2019-10-08 19:42:54 +07:00
} ) ;
it ( 'checking addExtensionOnDarwin' , async ( ) = > {
let darwin : string = await extensions . addExtension (
2021-09-16 20:11:02 +07:00
'none, amqp, apcu, expect, Xdebug, pcov, grpc, igbinary, imagick, imap, memcache, memcached, mongodb, msgpack, phalcon3, phalcon4, protobuf, psr, rdkafka, redis, ssh2, swoole, vips, yaml, sqlite, oci8, pdo_oci, :intl, ast-beta, grpc-1.2.3' ,
2019-10-08 19:42:54 +07:00
'7.2' ,
'darwin'
) ;
2021-08-26 22:59:38 +07:00
expect ( darwin ) . toContain ( 'disable_all_shared' ) ;
2020-12-03 16:29:03 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension amqp extension' ) ;
2021-04-03 06:43:18 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension apcu extension' ) ;
2021-09-16 20:11:02 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension expect extension' ) ;
2020-11-08 14:36:21 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension xdebug zend_extension' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension pcov extension' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension grpc extension' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension igbinary extension' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension imagick extension' ) ;
2020-12-03 16:29:03 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension imap extension' ) ;
2021-04-22 00:07:23 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension memcache extension' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension memcached extension' ) ;
2021-07-23 05:22:47 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension mongodb extension' ) ;
2021-02-17 17:59:24 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension msgpack extension' ) ;
2021-04-14 15:37:15 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension phalcon3 extension' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension phalcon4 extension' ) ;
2020-11-08 14:36:21 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension protobuf extension' ) ;
2021-04-14 15:37:15 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension psr extension' ) ;
2021-06-16 01:26:55 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension rdkafka extension' ) ;
2021-02-17 17:59:24 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension redis extension' ) ;
2021-09-16 20:11:02 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension ssh2 extension' ) ;
2020-11-08 14:36:21 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension swoole extension' ) ;
2021-09-01 17:23:05 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension vips extension' ) ;
2021-08-16 05:16:43 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension yaml extension' ) ;
2020-11-08 14:36:21 +07:00
expect ( darwin ) . toContain ( 'add_extension sqlite3' ) ;
2021-08-24 17:44:52 +07:00
expect ( darwin ) . toContain ( 'disable_extension intl' ) ;
2020-01-30 13:33:30 +07:00
expect ( darwin ) . toContain ( 'add_unstable_extension ast beta extension' ) ;
2020-02-23 20:30:40 +07:00
expect ( darwin ) . toContain ( 'add_pecl_extension grpc 1.2.3 extension' ) ;
2019-10-08 19:42:54 +07:00
2020-11-16 19:35:08 +07:00
darwin = await extensions . addExtension ( 'couchbase' , '5.6' , 'darwin' ) ;
expect ( darwin ) . toContain ( 'add_couchbase' ) ;
darwin = await extensions . addExtension ( 'couchbase' , '7.3' , 'darwin' ) ;
expect ( darwin ) . toContain ( 'add_couchbase' ) ;
2020-07-19 12:39:45 +07:00
darwin = await extensions . addExtension ( 'ioncube' , '7.3' , 'darwin' ) ;
2020-07-26 17:18:19 +07:00
expect ( darwin ) . toContain ( 'add_ioncube' ) ;
2020-07-19 12:39:45 +07:00
2020-12-14 14:22:00 +07:00
darwin = await extensions . addExtension ( 'geos' , '7.3' , 'darwin' ) ;
expect ( darwin ) . toContain ( 'add_geos' ) ;
2021-02-16 12:36:23 +07:00
darwin = await extensions . addExtension ( 'pecl_http' , '7.3' , 'darwin' ) ;
expect ( darwin ) . toContain ( 'add_http' ) ;
darwin = await extensions . addExtension ( 'http-1.2.3' , '7.3' , 'darwin' ) ;
expect ( darwin ) . toContain ( 'add_http http-1.2.3' ) ;
2020-07-15 11:15:40 +07:00
darwin = await extensions . addExtension ( 'oci8, pdo_oci' , '7.3' , 'darwin' ) ;
2020-07-26 17:18:19 +07:00
expect ( darwin ) . toContain ( 'add_oci oci8' ) ;
expect ( darwin ) . toContain ( 'add_oci pdo_oci' ) ;
2020-07-15 11:15:40 +07:00
2019-10-08 19:42:54 +07:00
darwin = await extensions . addExtension ( 'pcov' , '5.6' , 'darwin' ) ;
2020-07-23 08:17:57 +07:00
expect ( darwin ) . toContain (
'add_log "$cross" "pcov" "pcov is not supported on PHP 5.6"'
) ;
2019-10-08 19:42:54 +07:00
darwin = await extensions . addExtension ( 'pcov' , '7.2' , 'darwin' ) ;
2020-06-19 05:39:13 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension pcov' ) ;
2019-10-08 19:42:54 +07:00
darwin = await extensions . addExtension ( 'xdebug' , '5.6' , 'darwin' ) ;
2020-06-19 05:39:13 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension xdebug' ) ;
2019-10-08 19:42:54 +07:00
2020-01-17 07:21:46 +07:00
darwin = await extensions . addExtension ( 'xdebug' , '7.0' , 'darwin' ) ;
2020-06-19 05:39:13 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension xdebug' ) ;
2020-01-17 07:21:46 +07:00
2019-10-08 19:42:54 +07:00
darwin = await extensions . addExtension ( 'xdebug' , '7.2' , 'darwin' ) ;
2020-06-19 05:39:13 +07:00
expect ( darwin ) . toContain ( 'add_brew_extension xdebug' ) ;
2019-10-08 19:42:54 +07:00
2020-12-24 19:50:42 +07:00
darwin = await extensions . addExtension ( 'xdebug2' , '7.2' , 'darwin' ) ;
expect ( darwin ) . toContain ( 'add_brew_extension xdebug2' ) ;
2020-10-17 23:26:06 +07:00
darwin = await extensions . addExtension ( 'imagick' , '5.5' , 'darwin' ) ;
2020-11-08 14:36:21 +07:00
expect ( darwin ) . toContain ( 'add_extension imagick' ) ;
2020-01-21 02:36:31 +07:00
2020-02-27 05:59:45 +07:00
darwin = await extensions . addExtension ( 'blackfire' , '7.3' , 'darwin' ) ;
2020-07-26 17:18:19 +07:00
expect ( darwin ) . toContain ( 'add_blackfire blackfire' ) ;
2020-02-27 05:59:45 +07:00
darwin = await extensions . addExtension ( 'blackfire-1.31.0' , '7.3' , 'darwin' ) ;
2020-07-26 17:18:19 +07:00
expect ( darwin ) . toContain ( 'add_blackfire blackfire-1.31.0' ) ;
2020-02-27 05:59:45 +07:00
2019-10-17 03:11:13 +07:00
darwin = await extensions . addExtension (
'does_not_exist' ,
'7.2' ,
'darwin' ,
false
) ;
2019-10-11 06:11:25 +07:00
expect ( darwin ) . toContain ( 'add_extension does_not_exist' ) ;
2019-10-08 19:42:54 +07:00
2020-08-19 09:30:36 +07:00
darwin = await extensions . addExtension ( 'xdebug' , '7.2' , 'openbsd' ) ;
expect ( darwin ) . toContain ( 'Platform openbsd is not supported' ) ;
2021-01-21 17:37:11 +07:00
darwin = await extensions . addExtension (
'mongodb-mongodb/mongo-php-driver@master' ,
'7.3' ,
'darwin'
) ;
expect ( darwin ) . toContain (
2021-04-19 18:33:57 +07:00
'add_extension_from_source mongodb https://github.com mongodb mongo-php-driver master extension'
2021-01-21 17:37:11 +07:00
) ;
2019-10-08 19:42:54 +07:00
} ) ;
} ) ;