Fixes #836 - enables level `0` optimizations.
authorJakub Pawlowicz <contact@jakubpawlowicz.com>
Fri, 6 Jan 2017 12:56:24 +0000 (13:56 +0100)
committerJakub Pawlowicz <contact@jakubpawlowicz.com>
Fri, 6 Jan 2017 14:03:27 +0000 (15:03 +0100)
Why:

* Some people may need to bundle and rebase CSS without applying
  any optimizations.

History.md
lib/clean.js
test/optimizer/level-0/optimizations-test.js [new file with mode: 0644]

index 767a9db..042fc68 100644 (file)
@@ -33,6 +33,7 @@
 * Fixed issue [#828](https://github.com/jakubpawlowicz/clean-css/issues/828) - `-chrome-` hack support.
 * Fixed issue [#829](https://github.com/jakubpawlowicz/clean-css/issues/829) - adds more strict selector merging rules.
 * Fixed issue [#834](https://github.com/jakubpawlowicz/clean-css/issues/834) - adds extra line break in nested blocks.
+* Fixed issue [#836](https://github.com/jakubpawlowicz/clean-css/issues/836) - enables level `0` optimizations.
 * Fixed issue [#839](https://github.com/jakubpawlowicz/clean-css/issues/839) - allows URIs in import inlining rules.
 * Fixed issue [#840](https://github.com/jakubpawlowicz/clean-css/issues/840) - allows input source map as map object.
 * Fixed issue [#843](https://github.com/jakubpawlowicz/clean-css/issues/843) - regression in selector handling.
index 68b99e8..ec6c491 100644 (file)
@@ -121,7 +121,9 @@ function runner(localOnly) {
 function optimize(tokens, context) {
   var optimized;
 
-  optimized = basicOptimize(tokens, context);
+  optimized = OptimizationLevel.One in context.options.level ?
+    basicOptimize(tokens, context) :
+    tokens;
   optimized = OptimizationLevel.Two in context.options.level ?
     advancedOptimize(tokens, context, true) :
     optimized;
diff --git a/test/optimizer/level-0/optimizations-test.js b/test/optimizer/level-0/optimizations-test.js
new file mode 100644 (file)
index 0000000..7fa74a6
--- /dev/null
@@ -0,0 +1,14 @@
+var vows = require('vows');
+
+var optimizerContext = require('../../test-helper').optimizerContext;
+
+vows.describe('level 0')
+  .addBatch(
+    optimizerContext('optimizations', {
+      'are off': [
+        'a{color:#f00;font-weight:bold}p{color:#f00}',
+        'a{color:#f00;font-weight:bold}p{color:#f00}'
+      ]
+    }, { level: 0 })
+  )
+  .export(module);