summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Dorn <jeremy@jeremydorn.com>2013-09-18 07:43:47 -0700
committerJeremy Dorn <jeremy@jeremydorn.com>2013-09-18 07:43:47 -0700
commit51a660e97b59f91b814eeee6e0a38e3cd726dd30 (patch)
treed52beba30da35bdd2f801f9ad5dd0911659b447a
parentc3691fe2e20326e2022ec339ca1942b84cd38b77 (diff)
downloadsql-formatter-51a660e97b59f91b814eeee6e0a38e3cd726dd30.zip
sql-formatter-51a660e97b59f91b814eeee6e0a38e3cd726dd30.tar.gz
sql-formatter-51a660e97b59f91b814eeee6e0a38e3cd726dd30.tar.bz2
Increase PhpUnit code coverage.
Fix undefined variable $clause_limit notice. A couple PSR fixes. Bump version number.
-rw-r--r--lib/SqlFormatter.php13
-rw-r--r--tests/SqlFormatterTest.php4
-rw-r--r--tests/clihighlight.html991
-rw-r--r--tests/compress.html8
-rw-r--r--tests/format-highlight.html30
-rw-r--r--tests/format.html29
-rw-r--r--tests/highlight.html9
-rw-r--r--tests/sql.sql6
8 files changed, 853 insertions, 237 deletions
diff --git a/lib/SqlFormatter.php b/lib/SqlFormatter.php
index db0fe9a..0efd8db 100644
--- a/lib/SqlFormatter.php
+++ b/lib/SqlFormatter.php
@@ -9,7 +9,7 @@
* @copyright 2013 Jeremy Dorn
* @license http://opensource.org/licenses/MIT
* @link http://github.com/jdorn/sql-formatter
- * @version 1.2.13
+ * @version 1.2.14
*/
class SqlFormatter
{
@@ -442,6 +442,7 @@ class SqlFormatter
$added_newline = false;
$inline_count = 0;
$inline_indented = false;
+ $clause_limit = false;
// Tokenize String
$original_tokens = self::tokenize($string);
@@ -641,10 +642,10 @@ class SqlFormatter
$clause_limit = true;
}
}
-
+
// Checks if we are out of the limit clause
elseif ($clause_limit && $token[self::TOKEN_VALUE] !== "," && $token[self::TOKEN_TYPE] !== self::TOKEN_TYPE_NUMBER && $token[self::TOKEN_TYPE] !== self::TOKEN_TYPE_WHITESPACE) {
- $clause_limit = false;
+ $clause_limit = false;
}
// Commas start a new line (unless within inline parentheses or SQL 'LIMIT' clause)
@@ -652,12 +653,12 @@ class SqlFormatter
//If the previous TOKEN_VALUE is 'LIMIT', resets new line
if ($clause_limit === true) {
$newline = false;
- $clause_limit = false;
+ $clause_limit = false;
}
- // All other cases of commas
+ // All other cases of commas
else {
$newline = true;
- }
+ }
}
// Newline reserved words start a new line
diff --git a/tests/SqlFormatterTest.php b/tests/SqlFormatterTest.php
index 333483c..ca535cf 100644
--- a/tests/SqlFormatterTest.php
+++ b/tests/SqlFormatterTest.php
@@ -30,7 +30,7 @@ class SqlFormatterTest extends PHPUnit_Framework_TestCase {
*/
function testCliHighlight($sql, $html) {
SqlFormatter::$cli = true;
- $this->assertEquals(trim($html), trim(SqlFormatter::highlight($sql)));
+ $this->assertEquals(trim($html), trim(SqlFormatter::format($sql)));
SqlFormatter::$cli = false;
}
/**
@@ -180,7 +180,7 @@ class SqlFormatterTest extends PHPUnit_Framework_TestCase {
$compress[] = trim(SqlFormatter::compress($sql));
SqlFormatter::$cli = true;
- $clihighlight[] = trim(SqlFormatter::highlight($sql));
+ $clihighlight[] = trim(SqlFormatter::format($sql));
SqlFormatter::$cli = false;
}
diff --git a/tests/clihighlight.html b/tests/clihighlight.html
index 657f324..a5d4510 100644
--- a/tests/clihighlight.html
+++ b/tests/clihighlight.html
@@ -1,245 +1,786 @@
-SELECT customer_id, customer_name, COUNT(order_id) as total
-FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id
-GROUP BY customer_id, customer_name
-HAVING COUNT(order_id) > 5
-ORDER BY COUNT(order_id) DESC;
-
-UPDATE customers
- SET totalorders = ordersummary.total
- FROM (SELECT customer_id, count(order_id) As total
-FROM orders GROUP BY customer_id) As ordersummary
- WHERE customers.customer_id = ordersummary.customer_id
-
-SELECT * FROM sometable
-UNION ALL
-SELECT * FROM someothertable;
-
-SET NAMES 'utf8';
+SELECT
+ customer_id,
+ customer_name,
+ COUNT(order_id) as total
+FROM
+ customers
+ INNER JOIN orders ON customers.customer_id = orders.customer_id
+GROUP BY
+ customer_id,
+ customer_name
+HAVING
+ COUNT(order_id) > 5
+ORDER BY
+ COUNT(order_id) DESC;
+
+UPDATE
+ customers
+SET
+ totalorders = ordersummary.total
+FROM
+ (
+ SELECT
+ customer_id,
+ count(order_id) As total
+ FROM
+ orders
+ GROUP BY
+ customer_id
+ ) As ordersummary
+WHERE
+ customers.customer_id = ordersummary.customer_id
+
+SELECT
+ *
+FROM
+ sometable
+UNION ALL
+SELECT
+ *
+FROM
+ someothertable;
+
+SET
+ NAMES 'utf8';
CREATE TABLE `PREFIX_address` (
- `id_address` int(10) unsigned NOT NULL auto_increment,
- `id_country` int(10) unsigned NOT NULL,
- `id_state` int(10) unsigned default NULL,
- `id_customer` int(10) unsigned NOT NULL default '0',
- `id_manufacturer` int(10) unsigned NOT NULL default '0',
- `id_supplier` int(10) unsigned NOT NULL default '0',
- `id_warehouse` int(10) unsigned NOT NULL default '0',
- `alias` varchar(32) NOT NULL,
- `company` varchar(64) default NULL,
- `lastname` varchar(32) NOT NULL,
- `firstname` varchar(32) NOT NULL,
- `address1` varchar(128) NOT NULL,
- `address2` varchar(128) default NULL,
- `postcode` varchar(12) default NULL,
- `city` varchar(64) NOT NULL,
- `other` text,
- `phone` varchar(16) default NULL,
- `phone_mobile` varchar(16) default NULL,
- `vat_number` varchar(32) default NULL,
- `dni` varchar(16) DEFAULT NULL,
- `date_add` datetime NOT NULL,
- `date_upd` datetime NOT NULL,
- `active` tinyint(1) unsigned NOT NULL default '1',
- `deleted` tinyint(1) unsigned NOT NULL default '0',
- PRIMARY KEY (`id_address`),
- KEY `address_customer` (`id_customer`),
- KEY `id_country` (`id_country`),
- KEY `id_state` (`id_state`),
- KEY `id_manufacturer` (`id_manufacturer`),
- KEY `id_supplier` (`id_supplier`),
+ `id_address` int(10) unsigned NOT NULL auto_increment,
+ `id_country` int(10) unsigned NOT NULL,
+ `id_state` int(10) unsigned default NULL,
+ `id_customer` int(10) unsigned NOT NULL default '0',
+ `id_manufacturer` int(10) unsigned NOT NULL default '0',
+ `id_supplier` int(10) unsigned NOT NULL default '0',
+ `id_warehouse` int(10) unsigned NOT NULL default '0',
+ `alias` varchar(32) NOT NULL,
+ `company` varchar(64) default NULL,
+ `lastname` varchar(32) NOT NULL,
+ `firstname` varchar(32) NOT NULL,
+ `address1` varchar(128) NOT NULL,
+ `address2` varchar(128) default NULL,
+ `postcode` varchar(12) default NULL,
+ `city` varchar(64) NOT NULL,
+ `other` text,
+ `phone` varchar(16) default NULL,
+ `phone_mobile` varchar(16) default NULL,
+ `vat_number` varchar(32) default NULL,
+ `dni` varchar(16) DEFAULT NULL,
+ `date_add` datetime NOT NULL,
+ `date_upd` datetime NOT NULL,
+ `active` tinyint(1) unsigned NOT NULL default '1',
+ `deleted` tinyint(1) unsigned NOT NULL default '0',
+ PRIMARY KEY (`id_address`),
+ KEY `address_customer` (`id_customer`),
+ KEY `id_country` (`id_country`),
+ KEY `id_state` (`id_state`),
+ KEY `id_manufacturer` (`id_manufacturer`),
+ KEY `id_supplier` (`id_supplier`),
KEY `id_warehouse` (`id_warehouse`)
-) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8
+) ENGINE = ENGINE_TYPE DEFAULT CHARSET = utf8
CREATE TABLE `PREFIX_alias` (
- `id_alias` int(10) unsigned NOT NULL auto_increment,
- `alias` varchar(255) NOT NULL,
- `search` varchar(255) NOT NULL,
- `active` tinyint(1) NOT NULL default '1',
- PRIMARY KEY (`id_alias`),
+ `id_alias` int(10) unsigned NOT NULL auto_increment,
+ `alias` varchar(255) NOT NULL,
+ `search` varchar(255) NOT NULL,
+ `active` tinyint(1) NOT NULL default '1',
+ PRIMARY KEY (`id_alias`),
UNIQUE KEY `alias` (`alias`)
-) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8
+) ENGINE = ENGINE_TYPE DEFAULT CHARSET = utf8
CREATE TABLE `PREFIX_carrier` (
- `id_carrier` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `id_reference` int(10) unsigned NOT NULL,
- `id_tax_rules_group` int(10) unsigned DEFAULT '0',
- `name` varchar(64) NOT NULL,
- `url` varchar(255) DEFAULT NULL,
- `active` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `shipping_handling` tinyint(1) unsigned NOT NULL DEFAULT '1',
- `range_behavior` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `is_module` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `is_free` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `shipping_external` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `need_range` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `external_module_name` varchar(64) DEFAULT NULL,
- `shipping_method` int(2) NOT NULL DEFAULT '0',
- `position` int(10) unsigned NOT NULL default '0',
- `max_width` int(10) DEFAULT 0,
- `max_height` int(10) DEFAULT 0,
- `max_depth` int(10) DEFAULT 0,
- `max_weight` int(10) DEFAULT 0,
- `grade` int(10) DEFAULT 0,
- PRIMARY KEY (`id_carrier`),
- KEY `deleted` (`deleted`,`active`),
+ `id_carrier` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `id_reference` int(10) unsigned NOT NULL,
+ `id_tax_rules_group` int(10) unsigned DEFAULT '0',
+ `name` varchar(64) NOT NULL,
+ `url` varchar(255) DEFAULT NULL,
+ `active` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `shipping_handling` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `range_behavior` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_module` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `is_free` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `shipping_external` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `need_range` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `external_module_name` varchar(64) DEFAULT NULL,
+ `shipping_method` int(2) NOT NULL DEFAULT '0',
+ `position` int(10) unsigned NOT NULL default '0',
+ `max_width` int(10) DEFAULT 0,
+ `max_height` int(10) DEFAULT 0,
+ `max_depth` int(10) DEFAULT 0,
+ `max_weight` int(10) DEFAULT 0,
+ `grade` int(10) DEFAULT 0,
+ PRIMARY KEY (`id_carrier`),
+ KEY `deleted` (`deleted`, `active`),
KEY `id_tax_rules_group` (`id_tax_rules_group`)
-) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8
+) ENGINE = ENGINE_TYPE DEFAULT CHARSET = utf8
CREATE TABLE IF NOT EXISTS `PREFIX_specific_price_rule` (
- `id_specific_price_rule` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` VARCHAR(255) NOT NULL,
- `id_shop` int(11) unsigned NOT NULL DEFAULT '1',
- `id_currency` int(10) unsigned NOT NULL,
- `id_country` int(10) unsigned NOT NULL,
- `id_group` int(10) unsigned NOT NULL,
- `from_quantity` mediumint(8) unsigned NOT NULL,
- `price` DECIMAL(20,6),
- `reduction` decimal(20,6) NOT NULL,
- `reduction_type` enum('amount','percentage') NOT NULL,
- `from` datetime NOT NULL,
- `to` datetime NOT NULL,
- PRIMARY KEY (`id_specific_price_rule`),
- KEY `id_product` (`id_shop`,`id_currency`,`id_country`,`id_group`,`from_quantity`,`from`,`to`)
-) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8
-
-UPDATE `PREFIX_configuration` SET value = '6' WHERE name = 'PS_SEARCH_WEIGHT_PNAME'
-
-UPDATE `PREFIX_hook_module` SET position = 1
-WHERE
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayPayment') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'cheque')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayPaymentReturn') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'cheque')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHome') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'homeslider')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionAuthentication') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'statsdata')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionShopDataDuplication') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'homeslider')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayTop') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocklanguages')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionCustomerAccountAdd') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'statsdata')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayCustomerAccount') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'favoriteproducts')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayAdminStatsModules') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'statsvisits')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayAdminStatsGraphEngine') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'graphvisifire')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayAdminStatsGridEngine') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'gridhtml')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayLeftColumnProduct') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocksharefb')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionSearch') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'statssearch')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionCategoryAdd') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcategories')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionCategoryUpdate') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcategories')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionCategoryDelete') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcategories')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'actionAdminMetaSave') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcategories')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayMyAccountBlock') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'favoriteproducts')
- OR
- id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayFooter') AND id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockreinsurance')
-
-ALTER TABLE `PREFIX_employee` ADD `bo_color` varchar(32) default NULL AFTER `stats_date_to`
-
-INSERT INTO `PREFIX_cms_category_lang` VALUES(1, 3, 'Inicio', '', 'home', NULL, NULL, NULL)
-
-INSERT INTO `PREFIX_cms_category` VALUES(1, 0, 0, 1, NOW(), NOW(),0)
-
-UPDATE `PREFIX_cms_category` SET `position` = 0
-
-ALTER TABLE `PREFIX_customer` ADD `note` text AFTER `secure_key`
-
-ALTER TABLE `PREFIX_contact` ADD `customer_service` tinyint(1) NOT NULL DEFAULT 0 AFTER `email`
-
-INSERT INTO `PREFIX_specific_price` (`id_product`, `id_shop`, `id_currency`, `id_country`, `id_group`, `priority`, `price`, `from_quantity`, `reduction`, `reduction_type`, `from`, `to`)
- ( SELECT dq.`id_product`, 1, 1, 0, 1, 0, 0.00, dq.`quantity`, IF(dq.`id_discount_type` = 2, dq.`value`, dq.`value` / 100), IF (dq.`id_discount_type` = 2, 'amount', 'percentage'), '0000-00-00 00:00:00', '0000-00-00 00:00:00'
- FROM `PREFIX_discount_quantity` dq
- INNER JOIN `PREFIX_product` p ON (p.`id_product` = dq.`id_product`)
- )
-
-DROP TABLE `PREFIX_discount_quantity`
-
-INSERT INTO `PREFIX_specific_price` (`id_product`, `id_shop`, `id_currency`, `id_country`, `id_group`, `priority`, `price`, `from_quantity`, `reduction`, `reduction_type`, `from`, `to`) (
- SELECT
- p.`id_product`,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0.00,
- 1,
- IF(p.`reduction_price` > 0, p.`reduction_price`, p.`reduction_percent` / 100),
- IF(p.`reduction_price` > 0, 'amount', 'percentage'),
- IF (p.`reduction_from` = p.`reduction_to`, '0000-00-00 00:00:00', p.`reduction_from`),
- IF (p.`reduction_from` = p.`reduction_to`, '0000-00-00 00:00:00', p.`reduction_to`)
- FROM `PREFIX_product` p
- WHERE p.`reduction_price` OR p.`reduction_percent`
+ `id_specific_price_rule` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `name` VARCHAR(255) NOT NULL,
+ `id_shop` int(11) unsigned NOT NULL DEFAULT '1',
+ `id_currency` int(10) unsigned NOT NULL,
+ `id_country` int(10) unsigned NOT NULL,
+ `id_group` int(10) unsigned NOT NULL,
+ `from_quantity` mediumint(8) unsigned NOT NULL,
+ `price` DECIMAL(20, 6),
+ `reduction` decimal(20, 6) NOT NULL,
+ `reduction_type` enum('amount', 'percentage') NOT NULL,
+ `from` datetime NOT NULL,
+ `to` datetime NOT NULL,
+ PRIMARY KEY (`id_specific_price_rule`),
+ KEY `id_product` (
+ `id_shop`, `id_currency`, `id_country`,
+ `id_group`, `from_quantity`, `from`,
+ `to`
+ )
+) ENGINE = ENGINE_TYPE DEFAULT CHARSET = utf8
+
+UPDATE
+ `PREFIX_configuration`
+SET
+ value = '6'
+WHERE
+ name = 'PS_SEARCH_WEIGHT_PNAME'
+
+UPDATE
+ `PREFIX_hook_module`
+SET
+ position = 1
+WHERE
+ id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayPayment'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'cheque'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayPaymentReturn'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'cheque'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayHome'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'homeslider'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionAuthentication'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'statsdata'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionShopDataDuplication'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'homeslider'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayTop'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blocklanguages'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionCustomerAccountAdd'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'statsdata'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayCustomerAccount'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'favoriteproducts'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayAdminStatsModules'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'statsvisits'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayAdminStatsGraphEngine'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'graphvisifire'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayAdminStatsGridEngine'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'gridhtml'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayLeftColumnProduct'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blocksharefb'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionSearch'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'statssearch'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionCategoryAdd'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blockcategories'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionCategoryUpdate'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blockcategories'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionCategoryDelete'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blockcategories'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'actionAdminMetaSave'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blockcategories'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayMyAccountBlock'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'favoriteproducts'
+ )
+ OR id_hook = (
+ SELECT
+ id_hook
+ FROM
+ `PREFIX_hook`
+ WHERE
+ name = 'displayFooter'
+ )
+ AND id_module = (
+ SELECT
+ id_module
+ FROM
+ `PREFIX_module`
+ WHERE
+ name = 'blockreinsurance'
+ )
+
+ALTER TABLE
+ `PREFIX_employee`
+ADD
+ `bo_color` varchar(32) default NULL
+AFTER
+ `stats_date_to`
+
+INSERT INTO `PREFIX_cms_category_lang`
+VALUES
+ (
+ 1, 3, 'Inicio', '', 'home', NULL, NULL,
+ NULL
+ )
+
+INSERT INTO `PREFIX_cms_category`
+VALUES
+ (1, 0, 0, 1, NOW(), NOW(), 0)
+
+UPDATE
+ `PREFIX_cms_category`
+SET
+ `position` = 0
+
+ALTER TABLE
+ `PREFIX_customer`
+ADD
+ `note` text
+AFTER
+ `secure_key`
+
+ALTER TABLE
+ `PREFIX_contact`
+ADD
+ `customer_service` tinyint(1) NOT NULL DEFAULT 0
+AFTER
+ `email`
+
+INSERT INTO `PREFIX_specific_price` (
+ `id_product`, `id_shop`, `id_currency`,
+ `id_country`, `id_group`, `priority`,
+ `price`, `from_quantity`, `reduction`,
+ `reduction_type`, `from`, `to`
+) (
+ SELECT
+ dq.`id_product`,
+ 1,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0.00,
+ dq.`quantity`,
+ IF(
+ dq.`id_discount_type` = 2, dq.`value`,
+ dq.`value` / 100
+ ),
+ IF (
+ dq.`id_discount_type` = 2, 'amount',
+ 'percentage'
+ ),
+ '0000-00-00 00:00:00',
+ '0000-00-00 00:00:00'
+ FROM
+ `PREFIX_discount_quantity` dq
+ INNER JOIN `PREFIX_product` p ON (p.`id_product` = dq.`id_product`)
)
-ALTER TABLE `PREFIX_product`
- DROP `reduction_price`,
- DROP `reduction_percent`,
- DROP `reduction_from`,
- DROP `reduction_to`
-
-INSERT INTO `PREFIX_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES
-('PS_SPECIFIC_PRICE_PRIORITIES', 'id_shop;id_currency;id_country;id_group', NOW(), NOW()),
-('PS_TAX_DISPLAY', 0, NOW(), NOW()),
-('PS_SMARTY_FORCE_COMPILE', 1, NOW(), NOW()),
-('PS_DISTANCE_UNIT', 'km', NOW(), NOW()),
-('PS_STORES_DISPLAY_CMS', 0, NOW(), NOW()),
-('PS_STORES_DISPLAY_FOOTER', 0, NOW(), NOW()),
-('PS_STORES_SIMPLIFIED', 0, NOW(), NOW()),
-('PS_STATSDATA_CUSTOMER_PAGESVIEWS', 1, NOW(), NOW()),
-('PS_STATSDATA_PAGESVIEWS', 1, NOW(), NOW()),
-('PS_STATSDATA_PLUGINS', 1, NOW(), NOW())
-
-INSERT INTO `PREFIX_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_CONDITIONS_CMS_ID', IFNULL((SELECT `id_cms` FROM `PREFIX_cms` WHERE `id_cms` = 3), 0), NOW(), NOW())
-
-CREATE TEMPORARY TABLE `PREFIX_configuration_tmp` (
- `value` text
+DROP
+ TABLE `PREFIX_discount_quantity`
+
+INSERT INTO `PREFIX_specific_price` (
+ `id_product`, `id_shop`, `id_currency`,
+ `id_country`, `id_group`, `priority`,
+ `price`, `from_quantity`, `reduction`,
+ `reduction_type`, `from`, `to`
+) (
+ SELECT
+ p.`id_product`,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0.00,
+ 1,
+ IF(
+ p.`reduction_price` > 0, p.`reduction_price`,
+ p.`reduction_percent` / 100
+ ),
+ IF(
+ p.`reduction_price` > 0, 'amount',
+ 'percentage'
+ ),
+ IF (
+ p.`reduction_from` = p.`reduction_to`,
+ '0000-00-00 00:00:00', p.`reduction_from`
+ ),
+ IF (
+ p.`reduction_from` = p.`reduction_to`,
+ '0000-00-00 00:00:00', p.`reduction_to`
+ )
+ FROM
+ `PREFIX_product` p
+ WHERE
+ p.`reduction_price`
+ OR p.`reduction_percent`
)
-SET @defaultOOS = (SELECT value FROM `PREFIX_configuration` WHERE name = 'PS_ORDER_OUT_OF_STOCK')
-
-UPDATE `PREFIX_product` p SET `cache_default_attribute` = 0 WHERE `id_product` NOT IN (SELECT `id_product` FROM `PREFIX_product_attribute`)
-
-INSERT INTO `PREFIX_hook` (`name`, `title`, `description`, `position`) VALUES ('processCarrier', 'Carrier Process', NULL, 0)
-
-INSERT INTO `PREFIX_stock_mvt_reason_lang` (`id_stock_mvt_reason`, `id_lang`, `name`) VALUES
-(1, 1, 'Order'),
-(1, 2, 'Commande'),
-(2, 1, 'Missing Stock Movement'),
-(2, 2, 'Mouvement de stock manquant'),
-(3, 1, 'Restocking'),
-(3, 2, 'Réassort')
-
-INSERT INTO `PREFIX_meta_lang` (`id_lang`, `id_meta`, `title`, `url_rewrite`) VALUES
-(1, (SELECT `id_meta` FROM `PREFIX_meta` WHERE `page` = 'authentication'), 'Authentication', 'authentication'),
-(2, (SELECT `id_meta` FROM `PREFIX_meta` WHERE `page` = 'authentication'), 'Authentification', 'authentification'),
-(3, (SELECT `id_meta` FROM `PREFIX_meta` WHERE `page` = 'authentication'), 'Autenticación', 'autenticacion')
+ALTER TABLE
+ `PREFIX_product`
+DROP
+ `reduction_price`,
+DROP
+ `reduction_percent`,
+DROP
+ `reduction_from`,
+DROP
+ `reduction_to`
+
+INSERT INTO `PREFIX_configuration` (
+ `name`, `value`, `date_add`, `date_upd`
+)
+VALUES
+ (
+ 'PS_SPECIFIC_PRICE_PRIORITIES',
+ 'id_shop;id_currency;id_country;id_group',
+ NOW(), NOW()
+ ),
+ ('PS_TAX_DISPLAY', 0, NOW(), NOW()),
+ (
+ 'PS_SMARTY_FORCE_COMPILE', 1, NOW(),
+ NOW()
+ ),
+ (
+ 'PS_DISTANCE_UNIT', 'km', NOW(), NOW()
+ ),
+ (
+ 'PS_STORES_DISPLAY_CMS', 0, NOW(),
+ NOW()
+ ),
+ (
+ 'PS_STORES_DISPLAY_FOOTER', 0, NOW(),
+ NOW()
+ ),
+ (
+ 'PS_STORES_SIMPLIFIED', 0, NOW(),
+ NOW()
+ ),
+ (
+ 'PS_STATSDATA_CUSTOMER_PAGESVIEWS',
+ 1, NOW(), NOW()
+ ),
+ (
+ 'PS_STATSDATA_PAGESVIEWS', 1, NOW(),
+ NOW()
+ ),
+ (
+ 'PS_STATSDATA_PLUGINS', 1, NOW(),
+ NOW()
+ )
+
+INSERT INTO `PREFIX_configuration` (
+ `name`, `value`, `date_add`, `date_upd`
+)
+VALUES
+ (
+ 'PS_CONDITIONS_CMS_ID',
+ IFNULL(
+ (
+ SELECT
+ `id_cms`
+ FROM
+ `PREFIX_cms`
+ WHERE
+ `id_cms` = 3
+ ),
+ 0
+ ),
+ NOW(),
+ NOW()
+ )
+
+CREATE TEMPORARY TABLE `PREFIX_configuration_tmp` (`value` text)
+
+SET
+ @defaultOOS = (
+ SELECT
+ value
+ FROM
+ `PREFIX_configuration`
+ WHERE
+ name = 'PS_ORDER_OUT_OF_STOCK'
+ )
+
+UPDATE
+ `PREFIX_product` p
+SET
+ `cache_default_attribute` = 0
+WHERE
+ `id_product` NOT IN (
+ SELECT
+ `id_product`
+ FROM
+ `PREFIX_product_attribute`
+ )
+
+INSERT INTO `PREFIX_hook` (
+ `name`, `title`, `description`, `position`
+)
+VALUES
+ (
+ 'processCarrier', 'Carrier Process',
+ NULL, 0
+ )
+
+INSERT INTO `PREFIX_stock_mvt_reason_lang` (
+ `id_stock_mvt_reason`, `id_lang`,
+ `name`
+)
+VALUES
+ (1, 1, 'Order'),
+ (1, 2, 'Commande'),
+ (2, 1, 'Missing Stock Movement'),
+ (
+ 2, 2, 'Mouvement de stock manquant'
+ ),
+ (3, 1, 'Restocking'),
+ (3, 2, 'Réassort')
+
+INSERT INTO `PREFIX_meta_lang` (
+ `id_lang`, `id_meta`, `title`, `url_rewrite`
+)
+VALUES
+ (
+ 1,
+ (
+ SELECT
+ `id_meta`
+ FROM
+ `PREFIX_meta`
+ WHERE
+ `page` = 'authentication'
+ ),
+ 'Authentication',
+ 'authentication'
+ ),
+ (
+ 2,
+ (
+ SELECT
+ `id_meta`
+ FROM
+ `PREFIX_meta`
+ WHERE
+ `page` = 'authentication'
+ ),
+ 'Authentification',
+ 'authentification'
+ ),
+ (
+ 3,
+ (
+ SELECT
+ `id_meta`
+ FROM
+ `PREFIX_meta`
+ WHERE
+ `page` = 'authentication'
+ ),
+ 'Autenticación',
+ 'autenticacion'
+ )
LOCK TABLES `admin_assert` WRITE
UNLOCK TABLES
-DROP TABLE IF EXISTS `admin_role`
-
-SELECT * FROM
--- This is another comment
-MyTable # One final comment
-/* This is a block comment
-*/ WHERE 1 = 2;
-
-SELECT -- This is a test
-
-SELECT Test FROM Test WHERE
-(
- MyColumn = 1 )) AND ((( SomeOtherColumn = 2); \ No newline at end of file
+DROP
+ TABLE IF EXISTS `admin_role`
+
+SELECT
+ *
+FROM
+ -- This is another comment
+ MyTable # One final comment
+
+ /* This is a block comment
+ */
+WHERE
+ 1 = 2;
+
+SELECT
+ -- This is a test
+
+SELECT
+ Test
+FROM
+ Test
+WHERE
+ (MyColumn = 1)
+)
+AND (
+ (
+ (SomeOtherColumn = 2);
+WARNING: unclosed parentheses or section
+
+SELECT
+ *
+LIMIT
+ 1;
+SELECT
+ a,
+ b,
+ c,
+ d
+FROM
+ e
+LIMIT
+ 1, 2;
+SELECT
+ 1,
+ 2,
+ 3
+WHERE
+ a in (1, 2, 3, 4, 5)
+ and b = 5;
+
+SELECT
+ @"weird variable name";
+
+SELECT
+ "no closing quote
+ \ No newline at end of file
diff --git a/tests/compress.html b/tests/compress.html
index 24fb38e..22d9a0f 100644
--- a/tests/compress.html
+++ b/tests/compress.html
@@ -64,4 +64,10 @@ SELECT * FROM MyTable WHERE 1 = 2;
SELECT
-SELECT Test FROM Test WHERE ( MyColumn = 1 )) AND ((( SomeOtherColumn = 2); \ No newline at end of file
+SELECT Test FROM Test WHERE ( MyColumn = 1 )) AND ((( SomeOtherColumn = 2);
+
+SELECT * LIMIT 1; SELECT a,b,c,d FROM e LIMIT 1, 2; SELECT 1,2,3 WHERE a in (1,2,3,4,5) and b=5;
+
+SELECT @"weird variable name";
+
+SELECT "no closing quote \ No newline at end of file
diff --git a/tests/format-highlight.html b/tests/format-highlight.html
index ee70147..62ddfe5 100644
--- a/tests/format-highlight.html
+++ b/tests/format-highlight.html
@@ -755,4 +755,32 @@
<span style="font-weight:bold;">AND</span> (
(
(<span style="color: #333;">SomeOtherColumn</span> <span >=</span> <span style="color: green;">2</span>)<span >;</span>
-<span style="background-color: red;">WARNING: unclosed parentheses or section</span></pre> \ No newline at end of file
+<span style="background-color: red;">WARNING: unclosed parentheses or section</span></pre>
+
+<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span>
+ <span >*</span>
+<span style="font-weight:bold;">LIMIT</span>
+ <span style="color: green;">1</span><span >;</span>
+<span style="font-weight:bold;">SELECT</span>
+ <span style="color: #333;">a</span><span >,</span>
+ <span style="color: #333;">b</span><span >,</span>
+ <span style="color: #333;">c</span><span >,</span>
+ <span style="color: #333;">d</span>
+<span style="font-weight:bold;">FROM</span>
+ <span style="color: #333;">e</span>
+<span style="font-weight:bold;">LIMIT</span>
+ <span style="color: green;">1</span><span >,</span> <span style="color: green;">2</span><span >;</span>
+<span style="font-weight:bold;">SELECT</span>
+ <span style="color: green;">1</span><span >,</span>
+ <span style="color: green;">2</span><span >,</span>
+ <span style="color: green;">3</span>
+<span style="font-weight:bold;">WHERE</span>
+ <span style="color: #333;">a</span> <span style="font-weight:bold;">in</span> (<span style="color: green;">1</span><span >,</span> <span style="color: green;">2</span><span >,</span> <span style="color: green;">3</span><span >,</span> <span style="color: green;">4</span><span >,</span> <span style="color: green;">5</span>)
+ <span style="font-weight:bold;">and</span> <span style="color: #333;">b</span> <span >=</span> <span style="color: green;">5</span><span >;</span></pre>
+
+<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span>
+ <span style="color: orange;">@&quot;weird variable name&quot;</span><span >;</span></pre>
+
+<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span>
+ <span style="color: blue;">&quot;no closing quote
+</span></pre> \ No newline at end of file
diff --git a/tests/format.html b/tests/format.html
index 6c88c75..8a00903 100644
--- a/tests/format.html
+++ b/tests/format.html
@@ -754,4 +754,31 @@ WHERE
)
AND (
(
- (SomeOtherColumn = 2); \ No newline at end of file
+ (SomeOtherColumn = 2);
+
+SELECT
+ *
+LIMIT
+ 1;
+SELECT
+ a,
+ b,
+ c,
+ d
+FROM
+ e
+LIMIT
+ 1, 2;
+SELECT
+ 1,
+ 2,
+ 3
+WHERE
+ a in (1, 2, 3, 4, 5)
+ and b = 5;
+
+SELECT
+ @"weird variable name";
+
+SELECT
+ "no closing quote \ No newline at end of file
diff --git a/tests/highlight.html b/tests/highlight.html
index 9579569..eace684 100644
--- a/tests/highlight.html
+++ b/tests/highlight.html
@@ -242,4 +242,11 @@
<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span> <span style="color: #333;">Test</span> <span style="font-weight:bold;">FROM</span> <span style="color: #333;">Test</span> <span style="font-weight:bold;">WHERE</span>
(
- <span style="color: #333;">MyColumn</span> <span >=</span> <span style="color: green;">1</span> )) <span style="font-weight:bold;">AND</span> ((( <span style="color: #333;">SomeOtherColumn</span> <span >=</span> <span style="color: green;">2</span>)<span >;</span></pre> \ No newline at end of file
+ <span style="color: #333;">MyColumn</span> <span >=</span> <span style="color: green;">1</span> )) <span style="font-weight:bold;">AND</span> ((( <span style="color: #333;">SomeOtherColumn</span> <span >=</span> <span style="color: green;">2</span>)<span >;</span></pre>
+
+<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span> <span >*</span> <span style="font-weight:bold;">LIMIT</span> <span style="color: green;">1</span><span >;</span> <span style="font-weight:bold;">SELECT</span> <span style="color: #333;">a</span><span >,</span><span style="color: #333;">b</span><span >,</span><span style="color: #333;">c</span><span >,</span><span style="color: #333;">d</span> <span style="font-weight:bold;">FROM</span> <span style="color: #333;">e</span> <span style="font-weight:bold;">LIMIT</span> <span style="color: green;">1</span><span >,</span> <span style="color: green;">2</span><span >;</span> <span style="font-weight:bold;">SELECT</span> <span style="color: green;">1</span><span >,</span><span style="color: green;">2</span><span >,</span><span style="color: green;">3</span> <span style="font-weight:bold;">WHERE</span> <span style="color: #333;">a</span> <span style="font-weight:bold;">in</span> (<span style="color: green;">1</span><span >,</span><span style="color: green;">2</span><span >,</span><span style="color: green;">3</span><span >,</span><span style="color: green;">4</span><span >,</span><span style="color: green;">5</span>) <span style="font-weight:bold;">and</span> <span style="color: #333;">b</span><span >=</span><span style="color: green;">5</span><span >;</span></pre>
+
+<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span> <span style="color: orange;">@&quot;weird variable name&quot;</span><span >;</span></pre>
+
+<pre style="color: black; background-color: white;"><span style="font-weight:bold;">SELECT</span> <span style="color: blue;">&quot;no closing quote
+</span></pre> \ No newline at end of file
diff --git a/tests/sql.sql b/tests/sql.sql
index f1b358f..c78282f 100644
--- a/tests/sql.sql
+++ b/tests/sql.sql
@@ -243,3 +243,9 @@ SELECT -- This is a test
SELECT Test FROM Test WHERE
(
MyColumn = 1 )) AND ((( SomeOtherColumn = 2);
+
+SELECT * LIMIT 1; SELECT a,b,c,d FROM e LIMIT 1, 2; SELECT 1,2,3 WHERE a in (1,2,3,4,5) and b=5;
+
+SELECT @"weird variable name";
+
+SELECT "no closing quote