Flexible Shipping for WooCommerce - Version 4.11.3

Version Description

  • 2022-03-01 =
  • Added support for WooCommerce 6.3
  • Fixed method title in REST API
Download this release

Release Info

Developer wpdesk
Plugin Icon 128x128 Flexible Shipping for WooCommerce
Version 4.11.3
Comparing to
See all releases

Code changes from version 4.11.2 to 4.11.3

flexible-shipping.php CHANGED
@@ -3,15 +3,15 @@
3
  * Plugin Name: Flexible Shipping
4
  * Plugin URI: https://wordpress.org/plugins/flexible-shipping/
5
  * Description: Create additional shipment methods in WooCommerce and enable pricing based on cart weight or total.
6
- * Version: 4.11.2
7
  * Author: WP Desk
8
  * Author URI: https://flexibleshipping.com/?utm_source=fs&utm_medium=link&utm_campaign=plugin-list-author
9
  * Text Domain: flexible-shipping
10
  * Domain Path: /lang/
11
  * Requires at least: 5.2
12
  * Tested up to: 5.9
13
- * WC requires at least: 5.8
14
- * WC tested up to: 6.2
15
  * Requires PHP: 7.0
16
  *
17
  * Copyright 2017 WP Desk Ltd.
@@ -38,7 +38,7 @@ if ( ! defined( 'ABSPATH' ) ) {
38
  } // Exit if accessed directly
39
 
40
  /* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
41
- $plugin_version = '4.11.2';
42
 
43
  $plugin_name = 'Flexible Shipping';
44
  $product_id = 'Flexible Shipping';
3
  * Plugin Name: Flexible Shipping
4
  * Plugin URI: https://wordpress.org/plugins/flexible-shipping/
5
  * Description: Create additional shipment methods in WooCommerce and enable pricing based on cart weight or total.
6
+ * Version: 4.11.3
7
  * Author: WP Desk
8
  * Author URI: https://flexibleshipping.com/?utm_source=fs&utm_medium=link&utm_campaign=plugin-list-author
9
  * Text Domain: flexible-shipping
10
  * Domain Path: /lang/
11
  * Requires at least: 5.2
12
  * Tested up to: 5.9
13
+ * WC requires at least: 5.9
14
+ * WC tested up to: 6.3
15
  * Requires PHP: 7.0
16
  *
17
  * Copyright 2017 WP Desk Ltd.
38
  } // Exit if accessed directly
39
 
40
  /* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
41
+ $plugin_version = '4.11.3';
42
 
43
  $plugin_name = 'Flexible Shipping';
44
  $product_id = 'Flexible Shipping';
lang/flexible-shipping.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Flexible Shipping plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Flexible Shipping 4.11.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/flexible-shipping\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-01-20T13:09:37+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: flexible-shipping\n"
@@ -382,7 +382,7 @@ msgid "Shipping method %s updated."
382
  msgstr ""
383
 
384
  #: classes/table-rate/shipping-method.php:562
385
- #: src/WPDesk/FS/TableRate/ShippingMethodSingle.php:277
386
  msgid "Shipping cost added."
387
  msgstr ""
388
 
2
  # This file is distributed under the same license as the Flexible Shipping plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Flexible Shipping 4.11.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/flexible-shipping\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-03-01T09:57:44+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: flexible-shipping\n"
382
  msgstr ""
383
 
384
  #: classes/table-rate/shipping-method.php:562
385
+ #: src/WPDesk/FS/TableRate/ShippingMethodSingle.php:278
386
  msgid "Shipping cost added."
387
  msgstr ""
388
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://flexibleshipping.com/products/flexible-shipping-pro-woocomm
4
  Tags: table rate, table rate shipping, conditional shipping, free shipping, woocommerce shipping, flexible shipping, woocommerce table rate shipping, cart based shipping, weight shipping, weight based shipping, totals based shipping, order based shipping, shipping zones, shipping classes, shipping, free shipping, advanced shipping
5
  Requires at least: 4.5
6
  Tested up to: 5.9
7
- Stable tag: 4.11.2
8
  Requires PHP: 7.0
9
  License: GPLv3 or later
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -200,6 +200,10 @@ If you are upgrading from the old Flexible Shipping version (1.3.2, woo-flexible
200
 
201
  == Changelog ==
202
 
 
 
 
 
203
  = 4.11.2 - 2022-01-20 =
204
  * Added support for WooCommerce 6.2
205
  * Fixed fatal with WOOCS – Currency Switcher for WooCommerce
4
  Tags: table rate, table rate shipping, conditional shipping, free shipping, woocommerce shipping, flexible shipping, woocommerce table rate shipping, cart based shipping, weight shipping, weight based shipping, totals based shipping, order based shipping, shipping zones, shipping classes, shipping, free shipping, advanced shipping
5
  Requires at least: 4.5
6
  Tested up to: 5.9
7
+ Stable tag: 4.11.3
8
  Requires PHP: 7.0
9
  License: GPLv3 or later
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
200
 
201
  == Changelog ==
202
 
203
+ = 4.11.3 - 2022-03-01 =
204
+ * Added support for WooCommerce 6.3
205
+ * Fixed method title in REST API
206
+
207
  = 4.11.2 - 2022-01-20 =
208
  * Added support for WooCommerce 6.2
209
  * Fixed fatal with WOOCS – Currency Switcher for WooCommerce
src/WPDesk/FS/TableRate/ShippingMethod/CommonMethodSettings.php CHANGED
@@ -133,7 +133,7 @@ class CommonMethodSettings implements MethodSettings {
133
  'description' => sprintf(
134
  // Translators: documentation link.
135
  __( 'Enable FS debug mode to verify the shipping methods\' configuration, check which one was used and how the shipping cost was calculated as well as identify any possible mistakes. %1$sLearn more how the Debug Mode works →%2$s', 'flexible-shipping' ),
136
- '<a href="' . ( 'pl_PL' !== get_locale() ? 'https://docs.flexibleshipping.com/article/421-fs-table-rate-debug-mode?utm_source=flexible-shipping-method&utm_medium=link&utm_campaign=flexible-shipping-debug-mode' : 'https://www.wpdesk.pl/docs/tryb-debugowania-flexible-shipping/?utm_source=flexible-shipping-method&utm_medium=link&utm_campaign=flexible-shipping-debug-mode' ) . '" target="_blank">',
137
  '</a>'
138
  ),
139
  ],
133
  'description' => sprintf(
134
  // Translators: documentation link.
135
  __( 'Enable FS debug mode to verify the shipping methods\' configuration, check which one was used and how the shipping cost was calculated as well as identify any possible mistakes. %1$sLearn more how the Debug Mode works →%2$s', 'flexible-shipping' ),
136
+ '<a href="' . ( 'pl_PL' !== get_locale() ? 'https://docs.flexibleshipping.com/article/916-flexible-shipping-debug-mode/?utm_source=flexible-shipping-method&utm_medium=link&utm_campaign=flexible-shipping-debug-mode' : 'https://www.wpdesk.pl/docs/tryb-debugowania-flexible-shipping/?utm_source=flexible-shipping-method&utm_medium=link&utm_campaign=flexible-shipping-debug-mode' ) . '" target="_blank">',
137
  '</a>'
138
  ),
139
  ],
src/WPDesk/FS/TableRate/ShippingMethodSingle.php CHANGED
@@ -68,8 +68,9 @@ class ShippingMethodSingle extends WC_Shipping_Method {
68
  // Translators: docs link.
69
  $this->method_description = sprintf( __( 'A single Flexible Shipping method. Learn %1$show to configure FS shipping method &rarr;%2$s', 'flexible-shipping' ), '<a href="' . $docs_link . '" target="_blank">', '</a>' );
70
  }
71
- $this->title = $this->get_instance_option( 'method_title', $this->method_title );
72
- $this->tax_status = $this->get_instance_option( 'tax_status' );
 
73
  }
74
 
75
  /**
68
  // Translators: docs link.
69
  $this->method_description = sprintf( __( 'A single Flexible Shipping method. Learn %1$show to configure FS shipping method &rarr;%2$s', 'flexible-shipping' ), '<a href="' . $docs_link . '" target="_blank">', '</a>' );
70
  }
71
+ $this->title = $this->get_instance_option( 'method_title', $this->method_title );
72
+ $this->instance_settings['title'] = $this->title;
73
+ $this->tax_status = $this->get_instance_option( 'tax_status' );
74
  }
75
 
76
  /**
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit5296db055b8c19f48f2402fa4473b96f::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit03193bef033c75fcecc49d89a6022b5c::getLoader();
vendor/composer/autoload_classmap.php CHANGED
@@ -123,10 +123,12 @@ return array(
123
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\LocalCodeceptionTrait' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/LocalCodeceptionTrait.php',
124
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareCodeceptionDb' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php',
125
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareLocalCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php',
 
126
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareParallelCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareParallelCodeceptionTests.php',
127
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareWordpressForCodeception' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php',
128
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
129
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php',
 
130
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
131
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SettingsException' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SettingsException.php',
132
  'FSVendor\\WPDesk\\Composer\\Codeception\\Plugin' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
123
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\LocalCodeceptionTrait' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/LocalCodeceptionTrait.php',
124
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareCodeceptionDb' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php',
125
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareLocalCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php',
126
+ 'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareLocalCodeceptionTestsWithCoverage' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTestsWithCoverage.php',
127
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareParallelCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareParallelCodeceptionTests.php',
128
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareWordpressForCodeception' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php',
129
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
130
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTests' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php',
131
+ 'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTestsWithCoverage' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTestsWithCoverage.php',
132
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
133
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SettingsException' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SettingsException.php',
134
  'FSVendor\\WPDesk\\Composer\\Codeception\\Plugin' => $baseDir . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit5296db055b8c19f48f2402fa4473b96f
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit5296db055b8c19f48f2402fa4473b96f
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit5296db055b8c19f48f2402fa4473b96f', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit5296db055b8c19f48f2402fa4473b96f', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit5296db055b8c19f48f2402fa4473b96f::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit03193bef033c75fcecc49d89a6022b5c
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInit03193bef033c75fcecc49d89a6022b5c', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInit03193bef033c75fcecc49d89a6022b5c', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInit03193bef033c75fcecc49d89a6022b5c::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit5296db055b8c19f48f2402fa4473b96f
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
@@ -142,10 +142,12 @@ class ComposerStaticInit5296db055b8c19f48f2402fa4473b96f
142
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\LocalCodeceptionTrait' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/LocalCodeceptionTrait.php',
143
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareCodeceptionDb' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php',
144
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareLocalCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php',
 
145
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareParallelCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareParallelCodeceptionTests.php',
146
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareWordpressForCodeception' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php',
147
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
148
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php',
 
149
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
150
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SettingsException' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SettingsException.php',
151
  'FSVendor\\WPDesk\\Composer\\Codeception\\Plugin' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
@@ -600,10 +602,10 @@ class ComposerStaticInit5296db055b8c19f48f2402fa4473b96f
600
  public static function getInitializer(ClassLoader $loader)
601
  {
602
  return \Closure::bind(function () use ($loader) {
603
- $loader->prefixLengthsPsr4 = ComposerStaticInit5296db055b8c19f48f2402fa4473b96f::$prefixLengthsPsr4;
604
- $loader->prefixDirsPsr4 = ComposerStaticInit5296db055b8c19f48f2402fa4473b96f::$prefixDirsPsr4;
605
- $loader->fallbackDirsPsr4 = ComposerStaticInit5296db055b8c19f48f2402fa4473b96f::$fallbackDirsPsr4;
606
- $loader->classMap = ComposerStaticInit5296db055b8c19f48f2402fa4473b96f::$classMap;
607
 
608
  }, null, ClassLoader::class);
609
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit03193bef033c75fcecc49d89a6022b5c
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
142
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\LocalCodeceptionTrait' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/LocalCodeceptionTrait.php',
143
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareCodeceptionDb' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareCodeceptionDb.php',
144
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareLocalCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php',
145
+ 'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareLocalCodeceptionTestsWithCoverage' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTestsWithCoverage.php',
146
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareParallelCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareParallelCodeceptionTests.php',
147
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\PrepareWordpressForCodeception' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareWordpressForCodeception.php',
148
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunCodeceptionTests.php',
149
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTests' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTests.php',
150
+ 'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\RunLocalCodeceptionTestsWithCoverage' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTestsWithCoverage.php',
151
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SedTrait' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SedTrait.php',
152
  'FSVendor\\WPDesk\\Composer\\Codeception\\Commands\\SettingsException' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/SettingsException.php',
153
  'FSVendor\\WPDesk\\Composer\\Codeception\\Plugin' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Plugin.php',
602
  public static function getInitializer(ClassLoader $loader)
603
  {
604
  return \Closure::bind(function () use ($loader) {
605
+ $loader->prefixLengthsPsr4 = ComposerStaticInit03193bef033c75fcecc49d89a6022b5c::$prefixLengthsPsr4;
606
+ $loader->prefixDirsPsr4 = ComposerStaticInit03193bef033c75fcecc49d89a6022b5c::$prefixDirsPsr4;
607
+ $loader->fallbackDirsPsr4 = ComposerStaticInit03193bef033c75fcecc49d89a6022b5c::$fallbackDirsPsr4;
608
+ $loader->classMap = ComposerStaticInit03193bef033c75fcecc49d89a6022b5c::$classMap;
609
 
610
  }, null, ClassLoader::class);
611
  }
vendor_prefixed/wpdesk/wp-codeception/composer.json CHANGED
@@ -16,34 +16,32 @@
16
  "email": "grola@wpdesk.net"
17
  }
18
  ],
 
 
 
 
 
 
19
  "require": {
20
- "php": ">=7.0",
21
  "ext-json": "*",
22
  "composer-plugin-api": "^1.1|^2",
23
- "codeception\/module-db": "^1.0",
 
24
  "codeception\/module-cli": "^1.0",
25
- "codeception\/module-webdriver": "^1.0",
26
- "lucatume\/wp-browser": "^2.4",
27
  "codeception\/module-filesystem": "^1.0",
28
- "codeception\/module-rest": "^1.2",
29
  "codeception\/module-phpbrowser": "^1.0",
30
- "codeception\/module-asserts": "^1.1",
 
31
  "codeception\/util-universalframework": "^1.0",
32
- "vlucas\/phpdotenv": "^4.2.0",
33
- "albertofem\/rsync-lib": "^1.0",
34
- "wp-cli\/wp-cli-bundle": "^2.4",
35
- "symfony\/yaml": "^v3.4.47",
36
  "lucatume\/codeception-steppify": "^1.0",
 
 
 
 
37
  "wp-cli\/admin-command": "^2.0",
38
- "bordoni\/phpass": "^0.3.5"
39
- },
40
- "require-dev": {
41
- "phpunit\/phpunit": "<7",
42
- "wp-coding-standards\/wpcs": "^0.14.1",
43
- "squizlabs\/php_codesniffer": "^3.0.2",
44
- "mockery\/mockery": "*",
45
- "10up\/wp_mock": "*",
46
- "wimg\/php-compatibility": "^8"
47
  },
48
  "autoload": {
49
  "psr-4": {
16
  "email": "grola@wpdesk.net"
17
  }
18
  ],
19
+ "config": {
20
+ "sort-packages": true,
21
+ "platform": {
22
+ "php": "7.0.8"
23
+ }
24
+ },
25
  "require": {
26
+ "php": ">=7.0.8",
27
  "ext-json": "*",
28
  "composer-plugin-api": "^1.1|^2",
29
+ "albertofem\/rsync-lib": "^1.0",
30
+ "bordoni\/phpass": "^0.3.5",
31
  "codeception\/module-cli": "^1.0",
32
+ "codeception\/module-db": "^1.0",
 
33
  "codeception\/module-filesystem": "^1.0",
 
34
  "codeception\/module-phpbrowser": "^1.0",
35
+ "codeception\/module-rest": "^1.2",
36
+ "codeception\/module-webdriver": "^1.0",
37
  "codeception\/util-universalframework": "^1.0",
 
 
 
 
38
  "lucatume\/codeception-steppify": "^1.0",
39
+ "lucatume\/wp-browser": "^2.4",
40
+ "phpunit\/php-code-coverage": "^5.3",
41
+ "symfony\/yaml": "^v3.4.47",
42
+ "vlucas\/phpdotenv": "^4.2.0",
43
  "wp-cli\/admin-command": "^2.0",
44
+ "wp-cli\/wp-cli-bundle": "^2.4"
 
 
 
 
 
 
 
 
45
  },
46
  "autoload": {
47
  "psr-4": {
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/CommandProvider.php CHANGED
@@ -5,10 +5,12 @@ namespace FSVendor\WPDesk\Composer\Codeception;
5
  use FSVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests;
6
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareCodeceptionDb;
7
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareLocalCodeceptionTests;
 
8
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareParallelCodeceptionTests;
9
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareWordpressForCodeception;
10
  use FSVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests;
11
  use FSVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTests;
 
12
  /**
13
  * Links plugin commands handlers to composer.
14
  */
@@ -16,6 +18,6 @@ class CommandProvider implements \FSVendor\Composer\Plugin\Capability\CommandPro
16
  {
17
  public function getCommands()
18
  {
19
- return [new \FSVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareCodeceptionDb(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareWordpressForCodeception(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareLocalCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareParallelCodeceptionTests()];
20
  }
21
  }
5
  use FSVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests;
6
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareCodeceptionDb;
7
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareLocalCodeceptionTests;
8
+ use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareLocalCodeceptionTestsWithCoverage;
9
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareParallelCodeceptionTests;
10
  use FSVendor\WPDesk\Composer\Codeception\Commands\PrepareWordpressForCodeception;
11
  use FSVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests;
12
  use FSVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTests;
13
+ use FSVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTestsWithCoverage;
14
  /**
15
  * Links plugin commands handlers to composer.
16
  */
18
  {
19
  public function getCommands()
20
  {
21
+ return [new \FSVendor\WPDesk\Composer\Codeception\Commands\CreateCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\RunLocalCodeceptionTestsWithCoverage(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareCodeceptionDb(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareWordpressForCodeception(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareLocalCodeceptionTests(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareLocalCodeceptionTestsWithCoverage(), new \FSVendor\WPDesk\Composer\Codeception\Commands\PrepareParallelCodeceptionTests()];
22
  }
23
  }
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/LocalCodeceptionTrait.php CHANGED
@@ -2,6 +2,8 @@
2
 
3
  namespace FSVendor\WPDesk\Composer\Codeception\Commands;
4
 
 
 
5
  use FSVendor\Symfony\Component\Console\Output\OutputInterface;
6
  use FSVendor\Symfony\Component\Yaml\Exception\ParseException;
7
  use FSVendor\Symfony\Component\Yaml\Yaml;
@@ -28,7 +30,7 @@ trait LocalCodeceptionTrait
28
  $apache_document_root = $configuration->getApacheDocumentRoot();
29
  $this->executeWpCliAndOutput('config set WP_DEBUG true --raw', $output, $apache_document_root);
30
  $this->executeWpCliAndOutput('config set WP_DEBUG_LOG true --raw', $output, $apache_document_root);
31
- $this->executeWpCliAndOutput('config set WP_DEBUG_DISPLAY true --raw', $output, $apache_document_root);
32
  $this->executeWpCliAndOutput('config set WP_HOME http://' . $configuration->getWptestsIp(), $output, $apache_document_root);
33
  $this->executeWpCliAndOutput('config set WP_SITEURL http://' . $configuration->getWptestsIp(), $output, $apache_document_root);
34
  $this->executeWpCliAndOutput('config set WP_AUTO_UPDATE_CORE false --raw', $output, $apache_document_root);
@@ -97,14 +99,21 @@ trait LocalCodeceptionTrait
97
  * @param string $plugin_dir
98
  * @param OutputInterface $output
99
  * @param Configuration $configuration
 
100
  */
101
- private function installPlugin($plugin_dir, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output, \FSVendor\WPDesk\Composer\Codeception\Commands\Configuration $configuration)
102
  {
103
  $source = $this->preparePathForRsync(\getcwd() . '/*', $configuration::isWindows());
104
  $target = $this->preparePathForRsync($this->prepareTargetDir($plugin_dir, $configuration) . '/', $configuration::isWindows());
105
- $rsync = 'rsync -a ' . $source . ' ' . $target . ' --exclude=node_modules --exclude=.git --exclude=tests --exclude=.idea --exclude=vendor';
106
  $this->execAndOutput($rsync, $output);
107
- $this->execAndOutput('composer install --no-dev --working-dir=' . $configuration->getApacheDocumentRoot() . '/wp-content/plugins/' . $plugin_dir, $output);
 
 
 
 
 
 
108
  }
109
  /**
110
  * @param string $path
@@ -211,4 +220,37 @@ trait LocalCodeceptionTrait
211
  $dimensions = $dimensions ? $dimensions : '{"width":"' . $price . '","length":"' . $price . '","height":"' . $price . '"}';
212
  return "wc product create --name=\"{$product_name}\" --virtual=false --downloadable=false --type=simple --sku={$sku} --regular_price={$price} --weight={$weight} --dimensions='{$dimensions}' --user=admin";
213
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  }
2
 
3
  namespace FSVendor\WPDesk\Composer\Codeception\Commands;
4
 
5
+ use FSVendor\Composer\Downloader\FilesystemException;
6
+ use FSVendor\Symfony\Component\Console\Input\InputInterface;
7
  use FSVendor\Symfony\Component\Console\Output\OutputInterface;
8
  use FSVendor\Symfony\Component\Yaml\Exception\ParseException;
9
  use FSVendor\Symfony\Component\Yaml\Yaml;
30
  $apache_document_root = $configuration->getApacheDocumentRoot();
31
  $this->executeWpCliAndOutput('config set WP_DEBUG true --raw', $output, $apache_document_root);
32
  $this->executeWpCliAndOutput('config set WP_DEBUG_LOG true --raw', $output, $apache_document_root);
33
+ $this->executeWpCliAndOutput('config set WP_DEBUG_DISPLAY false --raw', $output, $apache_document_root);
34
  $this->executeWpCliAndOutput('config set WP_HOME http://' . $configuration->getWptestsIp(), $output, $apache_document_root);
35
  $this->executeWpCliAndOutput('config set WP_SITEURL http://' . $configuration->getWptestsIp(), $output, $apache_document_root);
36
  $this->executeWpCliAndOutput('config set WP_AUTO_UPDATE_CORE false --raw', $output, $apache_document_root);
99
  * @param string $plugin_dir
100
  * @param OutputInterface $output
101
  * @param Configuration $configuration
102
+ * @param bool $coverage
103
  */
104
+ private function installPlugin(string $plugin_dir, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output, \FSVendor\WPDesk\Composer\Codeception\Commands\Configuration $configuration, bool $coverage = \true)
105
  {
106
  $source = $this->preparePathForRsync(\getcwd() . '/*', $configuration::isWindows());
107
  $target = $this->preparePathForRsync($this->prepareTargetDir($plugin_dir, $configuration) . '/', $configuration::isWindows());
108
+ $rsync = 'rsync -av ' . $source . ' ' . $target . ' --exclude=node_modules --exclude=.git --exclude=.idea --exclude=vendor --exclude=vendor_prefixed --exclude=tests/wordpress ';
109
  $this->execAndOutput($rsync, $output);
110
+ \copy(\getcwd() . '/.env.testing', $this->prepareTargetDir($plugin_dir, $configuration) . '/.env.testing');
111
+ if (!$coverage) {
112
+ $this->execAndOutput('composer install --working-dir=' . $configuration->getApacheDocumentRoot() . '/wp-content/plugins/' . $plugin_dir, $output);
113
+ $this->execAndOutput('composer install --no-dev --working-dir=' . $configuration->getApacheDocumentRoot() . '/wp-content/plugins/' . $plugin_dir, $output);
114
+ } else {
115
+ $this->execAndOutput('composer require --dev codeception/c3 --working-dir=' . $configuration->getApacheDocumentRoot() . '/wp-content/plugins/' . $plugin_dir, $output);
116
+ }
117
  }
118
  /**
119
  * @param string $path
220
  $dimensions = $dimensions ? $dimensions : '{"width":"' . $price . '","length":"' . $price . '","height":"' . $price . '"}';
221
  return "wc product create --name=\"{$product_name}\" --virtual=false --downloadable=false --type=simple --sku={$sku} --regular_price={$price} --weight={$weight} --dimensions='{$dimensions}' --user=admin";
222
  }
223
+ /**
224
+ * @param InputInterface $input
225
+ * @param OutputInterface $output
226
+ * @param bool $coverage
227
+ *
228
+ * @throws \Composer\Downloader\FilesystemException
229
+ */
230
+ private function prepareLocalCodeceptionTests(\FSVendor\Symfony\Component\Console\Input\InputInterface $input, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output, bool $coverage = \false)
231
+ {
232
+ $configuration = $this->getWpDeskConfiguration();
233
+ $this->installPlugin($configuration->getPluginDir(), $output, $configuration, $coverage);
234
+ $this->activatePlugins($output, $configuration);
235
+ $this->prepareWpConfig($output, $configuration);
236
+ $this->copyThemeFiles($configuration->getThemeFiles(), $configuration->getApacheDocumentRoot() . '/wp-content/themes/storefront-wpdesk-tests');
237
+ $sep = \DIRECTORY_SEPARATOR;
238
+ $codecept = "vendor{$sep}bin{$sep}codecept";
239
+ $cleanOutput = $codecept . ' clean';
240
+ $this->execAndOutput($cleanOutput, $output);
241
+ }
242
+ /**
243
+ * @param array $theme_files
244
+ * @param $theme_folder
245
+ *
246
+ * @throws FilesystemException
247
+ */
248
+ private function copyThemeFiles(array $theme_files, $theme_folder)
249
+ {
250
+ foreach ($theme_files as $theme_file) {
251
+ if (!\copy($theme_file, $this->trailingslashit($theme_folder) . \basename($theme_file))) {
252
+ throw new \FSVendor\Composer\Downloader\FilesystemException('Error copying theme file: ' . $theme_file);
253
+ }
254
+ }
255
+ }
256
  }
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTests.php CHANGED
@@ -33,15 +33,7 @@ class PrepareLocalCodeceptionTests extends \FSVendor\WPDesk\Composer\Codeception
33
  */
34
  protected function execute(\FSVendor\Symfony\Component\Console\Input\InputInterface $input, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output)
35
  {
36
- $configuration = $this->getWpDeskConfiguration();
37
- $this->installPlugin($configuration->getPluginDir(), $output, $configuration);
38
- $this->activatePlugins($output, $configuration);
39
- $this->prepareWpConfig($output, $configuration);
40
- $this->copyThemeFiles($configuration->getThemeFiles(), $configuration->getApacheDocumentRoot() . '/wp-content/themes/storefront-wpdesk-tests');
41
- $sep = \DIRECTORY_SEPARATOR;
42
- $codecept = "vendor{$sep}bin{$sep}codecept";
43
- $cleanOutput = $codecept . ' clean';
44
- $this->execAndOutput($cleanOutput, $output);
45
  }
46
  /**
47
  * @param array $theme_files
33
  */
34
  protected function execute(\FSVendor\Symfony\Component\Console\Input\InputInterface $input, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output)
35
  {
36
+ $this->prepareLocalCodeceptionTests($input, $output, \false);
 
 
 
 
 
 
 
 
37
  }
38
  /**
39
  * @param array $theme_files
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/PrepareLocalCodeceptionTestsWithCoverage.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace FSVendor\WPDesk\Composer\Codeception\Commands;
4
+
5
+ use FSVendor\Composer\Downloader\FilesystemException;
6
+ use FSVendor\Symfony\Component\Console\Input\InputArgument;
7
+ use FSVendor\Symfony\Component\Console\Input\InputInterface;
8
+ use FSVendor\Symfony\Component\Console\Output\OutputInterface;
9
+ use FSVendor\Symfony\Component\Yaml\Exception\ParseException;
10
+ use FSVendor\Symfony\Component\Yaml\Yaml;
11
+ /**
12
+ * Codeception tests run command.
13
+ *
14
+ * @package WPDesk\Composer\Codeception\Commands
15
+ */
16
+ class PrepareLocalCodeceptionTestsWithCoverage extends \FSVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests
17
+ {
18
+ use LocalCodeceptionTrait;
19
+ /**
20
+ * Configure command.
21
+ */
22
+ protected function configure()
23
+ {
24
+ parent::configure();
25
+ $this->setName('prepare-local-codeception-tests-with-coverage')->setDescription('Prepare local codeception tests.');
26
+ }
27
+ /**
28
+ * Execute command.
29
+ *
30
+ * @param InputInterface $input
31
+ * @param OutputInterface $output
32
+ * @return void
33
+ */
34
+ protected function execute(\FSVendor\Symfony\Component\Console\Input\InputInterface $input, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output)
35
+ {
36
+ $this->prepareLocalCodeceptionTests($input, $output, \true);
37
+ $configuration = $this->getWpDeskConfiguration();
38
+ $plugin_file = $configuration->getApacheDocumentRoot() . '/wp-content/plugins/' . $configuration->getPluginFile();
39
+ \file_put_contents($plugin_file, "\ndefine('C3_CODECOVERAGE_ERROR_LOG_FILE', '/tmp/c3_error.log'); include __DIR__ . '/c3.php';", \FILE_APPEND);
40
+ }
41
+ }
vendor_prefixed/wpdesk/wp-codeception/src/WPDesk/Composer/Commands/RunLocalCodeceptionTestsWithCoverage.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace FSVendor\WPDesk\Composer\Codeception\Commands;
4
+
5
+ use FSVendor\Symfony\Component\Console\Input\InputArgument;
6
+ use FSVendor\Symfony\Component\Console\Input\InputInterface;
7
+ use FSVendor\Symfony\Component\Console\Output\OutputInterface;
8
+ use FSVendor\Symfony\Component\Yaml\Exception\ParseException;
9
+ use FSVendor\Symfony\Component\Yaml\Yaml;
10
+ /**
11
+ * Codeception tests run command.
12
+ *
13
+ * @package WPDesk\Composer\Codeception\Commands
14
+ */
15
+ class RunLocalCodeceptionTestsWithCoverage extends \FSVendor\WPDesk\Composer\Codeception\Commands\RunCodeceptionTests
16
+ {
17
+ use LocalCodeceptionTrait;
18
+ /**
19
+ * Configure command.
20
+ */
21
+ protected function configure()
22
+ {
23
+ parent::configure();
24
+ $this->setName('run-local-codeception-tests-with-coverage')->setDescription('Run local codeception tests.')->setDefinition(array(new \FSVendor\Symfony\Component\Console\Input\InputArgument(self::SINGLE, \FSVendor\Symfony\Component\Console\Input\InputArgument::OPTIONAL, 'Name of Single test to run.', ' ')));
25
+ }
26
+ /**
27
+ * Execute command.
28
+ *
29
+ * @param InputInterface $input
30
+ * @param OutputInterface $output
31
+ * @return void
32
+ */
33
+ protected function execute(\FSVendor\Symfony\Component\Console\Input\InputInterface $input, \FSVendor\Symfony\Component\Console\Output\OutputInterface $output)
34
+ {
35
+ $configuration = $this->getWpDeskConfiguration();
36
+ $this->prepareWpConfig($output, $configuration);
37
+ $singleTest = $input->getArgument(self::SINGLE);
38
+ $sep = \DIRECTORY_SEPARATOR;
39
+ $codecept = "vendor{$sep}bin{$sep}codecept";
40
+ $cleanOutput = $codecept . ' clean';
41
+ $this->execAndOutput($cleanOutput, $output);
42
+ $runLocalTests = $codecept . ' run -f --steps --html --coverage --coverage-xml --coverage-html --verbose acceptance ' . $singleTest;
43
+ $this->execAndOutput($runLocalTests, $output);
44
+ }
45
+ }