From 86c43459fcbef1ce01ca75db42b1b3a2ccc97c4f Mon Sep 17 00:00:00 2001 From: claudiulodro Date: Wed, 14 Jun 2017 11:08:39 -0700 Subject: [PATCH 1/2] Update test --- tests/unit-tests/api/settings.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/unit-tests/api/settings.php b/tests/unit-tests/api/settings.php index 6629b333b38..49eb3fb3b6f 100644 --- a/tests/unit-tests/api/settings.php +++ b/tests/unit-tests/api/settings.php @@ -539,10 +539,10 @@ class Settings extends WC_REST_Unit_Test_Case { $this->assertEquals( array( 'id' => 'subject', 'label' => 'Subject', - 'description' => 'This controls the email subject line. Leave blank to use the default subject: [{site_title}] New customer order ({order_number}) - {order_date}.', + 'description' => 'Available placeholders: {site_title}, {order_date}, {order_number}', 'type' => 'text', 'default' => '', - 'tip' => 'This controls the email subject line. Leave blank to use the default subject: [{site_title}] New customer order ({order_number}) - {order_date}.', + 'tip' => 'Available placeholders: {site_title}, {order_date}, {order_number}', 'value' => '', ), $setting ); @@ -557,10 +557,10 @@ class Settings extends WC_REST_Unit_Test_Case { $this->assertEquals( array( 'id' => 'subject', 'label' => 'Subject', - 'description' => 'This controls the email subject line. Leave blank to use the default subject: [{site_title}] New customer order ({order_number}) - {order_date}.', + 'description' => 'Available placeholders: {site_title}, {order_date}, {order_number}', 'type' => 'text', 'default' => '', - 'tip' => 'This controls the email subject line. Leave blank to use the default subject: [{site_title}] New customer order ({order_number}) - {order_date}.', + 'tip' => 'Available placeholders: {site_title}, {order_date}, {order_number}', 'value' => 'This is my subject', ), $setting ); From 1d3c4ebb4dccde2a7a648d027ad1df420963142a Mon Sep 17 00:00:00 2001 From: claudiulodro Date: Wed, 14 Jun 2017 11:35:22 -0700 Subject: [PATCH 2/2] Add flag for timeout checking --- .../import/class-wc-product-csv-importer.php | 17 +++++++++-------- tests/unit-tests/importer/product.php | 5 +++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/includes/import/class-wc-product-csv-importer.php b/includes/import/class-wc-product-csv-importer.php index 560fa5e8e9e..6dcfa3babf8 100644 --- a/includes/import/class-wc-product-csv-importer.php +++ b/includes/import/class-wc-product-csv-importer.php @@ -31,13 +31,14 @@ class WC_Product_CSV_Importer extends WC_Product_Importer { */ public function __construct( $file, $params = array() ) { $default_args = array( - 'start_pos' => 0, // File pointer start. - 'end_pos' => -1, // File pointer end. - 'lines' => -1, // Max lines to read. - 'mapping' => array(), // Column mapping. csv_heading => schema_heading. - 'parse' => false, // Whether to sanitize and format data. - 'update_existing' => false, // Whether to update existing items. - 'delimiter' => ',', // CSV delimiter. + 'start_pos' => 0, // File pointer start. + 'end_pos' => -1, // File pointer end. + 'lines' => -1, // Max lines to read. + 'mapping' => array(), // Column mapping. csv_heading => schema_heading. + 'parse' => false, // Whether to sanitize and format data. + 'update_existing' => false, // Whether to update existing items. + 'delimiter' => ',', // CSV delimiter. + 'prevent_timeouts' => true, // Check memory and time usage and abort if reaching limit. ); $this->params = wp_parse_args( $params, $default_args ); @@ -711,7 +712,7 @@ class WC_Product_CSV_Importer extends WC_Product_Importer { $index ++; - if ( $this->time_exceeded() || $this->memory_exceeded() ) { + if ( $this->params['prevent_timeouts'] && ( $this->time_exceeded() || $this->memory_exceeded() ) ) { $this->file_position = $this->file_positions[ $index ]; break; } diff --git a/tests/unit-tests/importer/product.php b/tests/unit-tests/importer/product.php index 83377b6c764..0270ce97884 100644 --- a/tests/unit-tests/importer/product.php +++ b/tests/unit-tests/importer/product.php @@ -84,8 +84,9 @@ class WC_Tests_Product_CSV_Importer extends WC_Unit_Test_Case { */ public function test_import() { $args = array( - 'mapping' => $this->get_csv_mapped_items(), - 'parse' => true, + 'mapping' => $this->get_csv_mapped_items(), + 'parse' => true, + 'prevent_timeouts' => false, ); $importer = new WC_Product_CSV_Importer( $this->csv_file, $args );