Changes column base in source maps from 1 to 0.
authorJakub Pawlowicz <contact@jakubpawlowicz.com>
Thu, 27 Nov 2014 23:15:54 +0000 (23:15 +0000)
committerJakub Pawlowicz <contact@jakubpawlowicz.com>
Mon, 8 Dec 2014 09:39:15 +0000 (09:39 +0000)
* Apparently columns are counted from 0 in source maps. Bizarre but true.

lib/selectors/source-map-stringifier.js
lib/selectors/tokenizer.js
lib/utils/source-maps.js
test/binary-test.js
test/selectors/tokenizer-source-maps-test.js
test/source-map-test.js

index 821f8eb..0e197f9 100644 (file)
@@ -109,14 +109,14 @@ function track(context, value, metadata) {
 
   var parts = value.split('\n');
   context.line += parts.length - 1;
-  context.column = parts.length > 1 ? 1 : (context.column + parts.pop().length);
+  context.column = parts.length > 1 ? 0 : (context.column + parts.pop().length);
 }
 
 SourceMapStringifier.prototype.toString = function (tokens) {
   var self = this;
   var output = [];
   var context = {
-    column: 1,
+    column: 0,
     line: 1,
     inputMapTracker: this.inputMapTracker,
     outputMap: this.outputMap,
index a72053a..345dac9 100644 (file)
@@ -27,7 +27,7 @@ Tokenizer.prototype.toTokens = function (data) {
     addSourceMap: this.addSourceMap,
     state: [],
     line: 1,
-    column: 1,
+    column: 0,
     source: undefined
   };
 
@@ -169,7 +169,7 @@ function tokenize(context) {
         });
         context.source = escaped.substring(escaped.indexOf('(') + 1, escaped.indexOf(')'));
         context.line = 1;
-        context.column = 1;
+        context.column = 0;
       } else if (isEndSourceMarker) {
         var oldState = context.state.pop();
         context.source = oldState.source;
index a36ccb2..c028bdf 100644 (file)
@@ -12,7 +12,7 @@ function trimLeft(value, context) {
   }
 
   context.line += withoutContent;
-  context.column = withoutContent > 0 ? 1 : context.column;
+  context.column = withoutContent > 0 ? 0 : context.column;
   context.column += /^(\s)*/.exec(split[withoutContent])[0].length;
 
   return value.substring(shift).trimLeft();
@@ -49,7 +49,7 @@ var SourceMaps = {
 
       if (i > 0) {
         context.line++;
-        context.column = 1;
+        context.column = 0;
       }
 
       while (true) {
@@ -66,7 +66,7 @@ var SourceMaps = {
         var escaped = part.substring(next, part.indexOf('__', next + 1) + 2);
         var encodedValues = escaped.substring(escaped.indexOf('(') + 1, escaped.indexOf(')')).split(',');
         context.line += ~~encodedValues[0];
-        context.column = (~~encodedValues[0] === 0 ? context.column : 1) + ~~encodedValues[1];
+        context.column = (~~encodedValues[0] === 0 ? context.column : 0) + ~~encodedValues[1];
         cursor += escaped.length;
       }
     }
index 722864f..35f716f 100644 (file)
@@ -361,7 +361,7 @@ exports.commandsSuite = vows.describe('binary commands').addBatch({
           {
             source: 'test/data/reset.css',
             line: 4,
-            column: 1,
+            column: 0,
             name: null
           }
         );
@@ -379,7 +379,7 @@ exports.commandsSuite = vows.describe('binary commands').addBatch({
           {
             source: 'reset.css',
             line: 4,
-            column: 1,
+            column: 0,
             name: null
           }
         );
@@ -397,7 +397,7 @@ exports.commandsSuite = vows.describe('binary commands').addBatch({
           {
             source: 'test/data/source-maps/styles.less',
             line: 1,
-            column: 1,
+            column: 0,
             name: null
           }
         );
@@ -415,7 +415,7 @@ exports.commandsSuite = vows.describe('binary commands').addBatch({
           {
             source: 'test/data/source-maps/sub/styles.less',
             line: 1,
-            column: 1,
+            column: 0,
             name: null
           }
         );
@@ -439,7 +439,7 @@ exports.commandsSuite = vows.describe('binary commands').addBatch({
           {
             source: '/data/reset.css',
             line: 4,
-            column: 1,
+            column: 0,
             name: null
           }
         );
index e556ef8..f8b2c23 100644 (file)
@@ -32,7 +32,7 @@ vows.describe('source-maps/analyzer')
         'a{}',
         [{
           kind: 'selector',
-          value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
+          value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
           body: []
         }]
       ],
@@ -41,8 +41,8 @@ vows.describe('source-maps/analyzer')
         [{
           kind: 'selector',
           value: [
-            { value: 'a', metadata: { line: 1, column: 1, source: undefined } },
-            { value: 'div', metadata: { line: 1, column: 3, source: undefined } }
+            { value: 'a', metadata: { line: 1, column: 0, source: undefined } },
+            { value: 'div', metadata: { line: 1, column: 2, source: undefined } }
           ],
           body: []
         }]
@@ -52,8 +52,8 @@ vows.describe('source-maps/analyzer')
         [{
           kind: 'selector',
           value: [
-            { value: ' a', metadata: { line: 1, column: 2, source: undefined } },
-            { value: '\n\ndiv', metadata: { line: 3, column: 1, source: undefined } }
+            { value: ' a', metadata: { line: 1, column: 1, source: undefined } },
+            { value: '\n\ndiv', metadata: { line: 3, column: 0, source: undefined } }
           ],
           body: []
         }]
@@ -63,9 +63,9 @@ vows.describe('source-maps/analyzer')
         [{
           kind: 'selector',
           value: [
-            { value: 'a', metadata: { line: 1, column: 1, source: undefined } },
-            { value: 'div', metadata: { line: 1, column: 3, source: undefined } },
-            { value: 'p', metadata: { line: 1, column: 7, source: undefined } }
+            { value: 'a', metadata: { line: 1, column: 0, source: undefined } },
+            { value: 'div', metadata: { line: 1, column: 2, source: undefined } },
+            { value: 'p', metadata: { line: 1, column: 6, source: undefined } }
           ],
           body: []
         }]
@@ -75,9 +75,9 @@ vows.describe('source-maps/analyzer')
         [{
           kind: 'selector',
           value: [
-            { value: ' a', metadata: { line: 1, column: 2, source: undefined } },
-            { value: '\n\ndiv\na', metadata: { line: 3, column: 1, source: undefined } },
-            { value: '\n p', metadata: { line: 5, column: 2, source: undefined } }
+            { value: ' a', metadata: { line: 1, column: 1, source: undefined } },
+            { value: '\n\ndiv\na', metadata: { line: 3, column: 0, source: undefined } },
+            { value: '\n p', metadata: { line: 5, column: 1, source: undefined } }
           ],
           body: []
         }]
@@ -87,12 +87,12 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
+            value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
             body: []
           },
           {
             kind: 'selector',
-            value: [{ value: 'div', metadata: { line: 1, column: 4, source: undefined } }],
+            value: [{ value: 'div', metadata: { line: 1, column: 3, source: undefined } }],
             body: []
           }
         ]
@@ -102,17 +102,17 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'a ', metadata: { line: 1, column: 1, source: undefined } }],
+            value: [{ value: 'a ', metadata: { line: 1, column: 0, source: undefined } }],
             body: []
           },
           {
             kind: 'selector',
-            value: [{ value: '\n\ndiv', metadata: { line: 3, column: 1, source: undefined } }],
+            value: [{ value: '\n\ndiv', metadata: { line: 3, column: 0, source: undefined } }],
             body: []
           },
           {
             kind: 'selector',
-            value: [{ value: '\n \n  p', metadata: { line: 5, column: 3, source: undefined } }],
+            value: [{ value: '\n \n  p', metadata: { line: 5, column: 2, source: undefined } }],
             body: []
           }
         ]
@@ -125,18 +125,18 @@ vows.describe('source-maps/analyzer')
         'a{color:red}',
         [{
           kind: 'selector',
-          value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
-          body: [{ value: 'color:red', metadata: { line: 1, column: 3, source: undefined } }]
+          value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
+          body: [{ value: 'color:red', metadata: { line: 1, column: 2, source: undefined } }]
         }]
       ],
       'double': [
         'a{color:red;border:none}',
         [{
           kind: 'selector',
-          value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
+          value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
           body: [
-            { value: 'color:red', metadata: { line: 1, column: 3, source: undefined } },
-            { value: 'border:none', metadata: { line: 1, column: 13, source: undefined } }
+            { value: 'color:red', metadata: { line: 1, column: 2, source: undefined } },
+            { value: 'border:none', metadata: { line: 1, column: 12, source: undefined } }
           ]
         }]
       ],
@@ -144,11 +144,11 @@ vows.describe('source-maps/analyzer')
         'a{color:red;\nborder:\nnone;\n\n  display:block}',
         [{
           kind: 'selector',
-          value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
+          value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
           body: [
-            { value: 'color:red', metadata: { line: 1, column: 3, source: undefined } },
-            { value: 'border:none', metadata: { line: 2, column: 1, source: undefined } },
-            { value: 'display:block', metadata: { line: 5, column: 3, source: undefined } }
+            { value: 'color:red', metadata: { line: 1, column: 2, source: undefined } },
+            { value: 'border:none', metadata: { line: 2, column: 0, source: undefined } },
+            { value: 'display:block', metadata: { line: 5, column: 2, source: undefined } }
           ]
         }]
       ],
@@ -157,13 +157,13 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
-            body: [{ value: 'color:red', metadata: { line: 1, column: 3, source: undefined } }]
+            value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
+            body: [{ value: 'color:red', metadata: { line: 1, column: 2, source: undefined } }]
           },
           {
             kind: 'selector',
-            value: [{ value: 'div', metadata: { line: 1, column: 13, source: undefined } }],
-            body: [{ value: 'color:blue', metadata: { line: 1, column: 17, source: undefined } }]
+            value: [{ value: 'div', metadata: { line: 1, column: 12, source: undefined } }],
+            body: [{ value: 'color:blue', metadata: { line: 1, column: 16, source: undefined } }]
           }
         ]
       ],
@@ -172,13 +172,13 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
-            body: [{ value: 'color:red', metadata: { line: 1, column: 3, source: undefined } }]
+            value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
+            body: [{ value: 'color:red', metadata: { line: 1, column: 2, source: undefined } }]
           },
           {
             kind: 'selector',
-            value: [{ value: '\n div', metadata: { line: 2, column: 2, source: undefined } }],
-            body: [{ value: 'color:blue', metadata: { line: 2, column: 6, source: undefined } }]
+            value: [{ value: '\n div', metadata: { line: 2, column: 1, source: undefined } }],
+            body: [{ value: 'color:blue', metadata: { line: 2, column: 5, source: undefined } }]
           }
         ]
       ],
@@ -187,13 +187,13 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
-            body: [{ value: 'color:red', metadata: { line: 1, column: 3, source: undefined } }]
+            value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
+            body: [{ value: 'color:red', metadata: { line: 1, column: 2, source: undefined } }]
           },
           {
             kind: 'selector',
-            value: [{ value: '\n div', metadata: { line: 3, column: 2, source: undefined } }],
-            body: [{ value: 'color:blue', metadata: { line: 3, column: 6, source: undefined } }]
+            value: [{ value: '\n div', metadata: { line: 3, column: 1, source: undefined } }],
+            body: [{ value: 'color:blue', metadata: { line: 3, column: 5, source: undefined } }]
           }
         ]
       ]
@@ -206,18 +206,18 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 1, source: undefined } }],
+            value: [{ value: 'a', metadata: { line: 1, column: 0, source: undefined } }],
             body: []
           },
           {
             kind: 'at-rule',
             value: '@import \n"test.css";',
-            metadata: { line: 1, column: 4, source: undefined }
+            metadata: { line: 1, column: 3, source: undefined }
           },
           {
             kind: 'selector',
-            value: [{ value: '\n\na', metadata: { line: 4, column: 1, source: undefined } }],
-            body: [{ value: 'color:red', metadata: { line: 4, column: 3, source: undefined } }]
+            value: [{ value: '\n\na', metadata: { line: 4, column: 0, source: undefined } }],
+            body: [{ value: 'color:red', metadata: { line: 4, column: 2, source: undefined } }]
           }
         ]
       ],
@@ -227,12 +227,12 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'at-rule',
             value: '@charset "utf-8";',
-            metadata: { line: 1, column: 1, source: undefined }
+            metadata: { line: 1, column: 0, source: undefined }
           },
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 19, source: undefined } }],
-            body: [{ value: 'color:red', metadata: { line: 1, column: 21, source: undefined } }]
+            value: [{ value: 'a', metadata: { line: 1, column: 18, source: undefined } }],
+            body: [{ value: 'color:red', metadata: { line: 1, column: 20, source: undefined } }]
           }
         ]
       ]
@@ -246,12 +246,12 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'block',
             value: '@media (min-width:980px)',
-            metadata: { line: 1, column: 1, source: undefined },
+            metadata: { line: 1, column: 0, source: undefined },
             isFlatBlock: false,
             body: [{
               kind: 'selector',
-              value: [{ value: 'a', metadata: { line: 1, column: 26, source: undefined } }],
-              body: [{ value: 'color:red', metadata: { line: 1, column: 28, source: undefined } }]
+              value: [{ value: 'a', metadata: { line: 1, column: 25, source: undefined } }],
+              body: [{ value: 'color:red', metadata: { line: 1, column: 27, source: undefined } }]
             }]
           }
         ]
@@ -262,17 +262,17 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'block',
             value: '@media (\nmin-width:980px)',
-            metadata: { line: 1, column: 1, source: undefined },
+            metadata: { line: 1, column: 0, source: undefined },
             isFlatBlock: false,
             body: [
               {
                 kind: 'selector',
-                value: [{ value: '\na', metadata: { line: 4, column: 1, source: undefined } }],
-                body: [{ value: 'color:red', metadata: { line: 5, column: 1, source: undefined } }]
+                value: [{ value: '\na', metadata: { line: 4, column: 0, source: undefined } }],
+                body: [{ value: 'color:red', metadata: { line: 5, column: 0, source: undefined } }]
               },
               {
                 kind: 'selector',
-                value: [{ value: 'p', metadata: { line: 6, column: 5, source: undefined } }],
+                value: [{ value: 'p', metadata: { line: 6, column: 4, source: undefined } }],
                 body: []
               }
             ]
@@ -285,20 +285,20 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'block',
             value: '@media (min-width:980px)',
-            metadata: { line: 1, column: 1, source: undefined },
+            metadata: { line: 1, column: 0, source: undefined },
             isFlatBlock: false,
             body: [
               {
                 kind: 'selector',
-                value: [{ value: 'a', metadata: { line: 1, column: 26, source: undefined } }],
-                body: [{ value: 'color:red', metadata: { line: 1, column: 28, source: undefined } }]
+                value: [{ value: 'a', metadata: { line: 1, column: 25, source: undefined } }],
+                body: [{ value: 'color:red', metadata: { line: 1, column: 27, source: undefined } }]
               },
             ]
           },
           {
             kind: 'selector',
-            value: [{ value: 'p', metadata: { line: 1, column: 40, source: undefined } }],
-            body: [{ value: 'color:red', metadata: { line: 1, column: 42, source: undefined } }]
+            value: [{ value: 'p', metadata: { line: 1, column: 39, source: undefined } }],
+            body: [{ value: 'color:red', metadata: { line: 1, column: 41, source: undefined } }]
           }
         ]
       ],
@@ -308,18 +308,18 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'block',
             value: '@font-face',
-            metadata: { line: 1, column: 1, source: undefined },
+            metadata: { line: 1, column: 0, source: undefined },
             isFlatBlock: true,
             body: [
-              { value: 'font-family:"Font"', metadata: { line: 1, column: 12, source: undefined } },
-              { value: 'src:url("font.ttf")', metadata: { line: 2, column: 1, source: undefined } },
-              { value: 'font-weight:normal', metadata: { line: 3, column: 1, source: undefined } },
-              { value: 'font-style:normal', metadata: { line: 3, column: 21, source: undefined } }
+              { value: 'font-family:"Font"', metadata: { line: 1, column: 11, source: undefined } },
+              { value: 'src:url("font.ttf")', metadata: { line: 2, column: 0, source: undefined } },
+              { value: 'font-weight:normal', metadata: { line: 3, column: 0, source: undefined } },
+              { value: 'font-style:normal', metadata: { line: 3, column: 20, source: undefined } }
             ]
           },
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 3, column: 40, source: undefined } }],
+            value: [{ value: 'a', metadata: { line: 3, column: 39, source: undefined } }],
             body: []
           }
         ]
@@ -330,10 +330,10 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'block',
             value: '@font-face',
-            metadata: { line: 2, column: 1, source: undefined },
+            metadata: { line: 2, column: 0, source: undefined },
             isFlatBlock: true,
             body: [
-              { value: 'font-family:"Font"', metadata: { line: 3, column: 2, source: undefined } },
+              { value: 'font-family:"Font"', metadata: { line: 3, column: 1, source: undefined } },
             ]
           }
         ]
@@ -351,7 +351,7 @@ vows.describe('source-maps/analyzer')
           },
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 1, column: 6, source: undefined } }],
+            value: [{ value: 'a', metadata: { line: 1, column: 5, source: undefined } }],
             body: []
           }
         ]
@@ -365,7 +365,7 @@ vows.describe('source-maps/analyzer')
           },
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 3, column: 6, source: undefined } }],
+            value: [{ value: 'a', metadata: { line: 3, column: 5, source: undefined } }],
             body: []
           }
         ]
@@ -375,10 +375,10 @@ vows.describe('source-maps/analyzer')
         [{
           kind: 'selector',
           value: [
-            { value: 'div[data-type=__ESCAPED_FREE_TEXT_CLEAN_CSS0(1,3)__]', metadata: { line: 1, column: 1, source: undefined } },
-            { value: 'div[data-id=__ESCAPED_FREE_TEXT_CLEAN_CSS1(0,7)__]', metadata: { line: 2, column: 6, source: undefined } }
+            { value: 'div[data-type=__ESCAPED_FREE_TEXT_CLEAN_CSS0(1,3)__]', metadata: { line: 1, column: 0, source: undefined } },
+            { value: 'div[data-id=__ESCAPED_FREE_TEXT_CLEAN_CSS1(0,7)__]', metadata: { line: 2, column: 5, source: undefined } }
           ],
-          body: [{ value: 'color:red', metadata: { line: 2, column: 27, source: undefined } }]
+          body: [{ value: 'color:red', metadata: { line: 2, column: 26, source: undefined } }]
         }]
       ],
       'in properties': [
@@ -386,19 +386,19 @@ vows.describe('source-maps/analyzer')
         [
           {
             kind: 'selector',
-            value: [{ value: 'div', metadata: { line: 1, column: 1, source: undefined } }],
+            value: [{ value: 'div', metadata: { line: 1, column: 0, source: undefined } }],
             body: [
-              { value: '__ESCAPED_COMMENT_CLEAN_CSS0(2,5)__', metadata: { line: 1, column: 5, source: undefined }},
-              { value: 'background:url(__ESCAPED_URL_CLEAN_CSS0(0,20)__)', metadata: { line: 3, column: 6, source: undefined } },
-              { value: 'color:blue', metadata: { line: 3, column: 43, source: undefined } }
+              { value: '__ESCAPED_COMMENT_CLEAN_CSS0(2,5)__', metadata: { line: 1, column: 4, source: undefined }},
+              { value: 'background:url(__ESCAPED_URL_CLEAN_CSS0(0,20)__)', metadata: { line: 3, column: 5, source: undefined } },
+              { value: 'color:blue', metadata: { line: 3, column: 42, source: undefined } }
             ]
           },
           {
             kind: 'selector',
-            value: [{ value: 'a', metadata: { line: 3, column: 54, source: undefined } }],
+            value: [{ value: 'a', metadata: { line: 3, column: 53, source: undefined } }],
             body: [
-              { value: 'font-family:__ESCAPED_FREE_TEXT_CLEAN_CSS0(1,3)__', metadata: { line: 3, column: 56, source: undefined } },
-              { value: 'color:red', metadata: { line: 4, column: 5, source: undefined } }
+              { value: 'font-family:__ESCAPED_FREE_TEXT_CLEAN_CSS0(1,3)__', metadata: { line: 3, column: 55, source: undefined } },
+              { value: 'color:red', metadata: { line: 4, column: 4, source: undefined } }
             ]
           }
         ]
@@ -409,11 +409,11 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'at-rule',
             value: '@charset __ESCAPED_FREE_TEXT_CLEAN_CSS0(1, 5)__;',
-            metadata: { line: 1, column: 1, source: undefined }
+            metadata: { line: 1, column: 0, source: undefined }
           },
           {
             kind: 'selector',
-            value: [{ value: 'div', metadata: { line: 2, column: 8, source: undefined } }],
+            value: [{ value: 'div', metadata: { line: 2, column: 7, source: undefined } }],
             body: []
           }
         ]
@@ -424,12 +424,12 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'block',
             value: '@media (__ESCAPED_COMMENT_CLEAN_CSS0(2, 1)__min-width:980px)',
-            metadata: { line: 1, column: 1, source: undefined },
+            metadata: { line: 1, column: 0, source: undefined },
             isFlatBlock: false,
             body: [{
               kind: 'selector',
-              value: [{ value: 'a', metadata: { line: 3, column: 19, source: undefined } }],
-              body: [{ value: 'color:red', metadata: { line: 3, column: 21, source: undefined } }]
+              value: [{ value: 'a', metadata: { line: 3, column: 18, source: undefined } }],
+              body: [{ value: 'color:red', metadata: { line: 3, column: 20, source: undefined } }]
             }]
           }
         ]
@@ -442,7 +442,7 @@ vows.describe('source-maps/analyzer')
         '__ESCAPED_SOURCE_CLEAN_CSS(one.css)__a{}__ESCAPED_SOURCE_END_CLEAN_CSS__',
         [{
           kind: 'selector',
-          value: [{ value: 'a', metadata: { line: 1, column: 1, source: 'one.css' } }],
+          value: [{ value: 'a', metadata: { line: 1, column: 0, source: 'one.css' } }],
           body: []
         }]
       ],
@@ -452,16 +452,16 @@ vows.describe('source-maps/analyzer')
           {
             kind: 'selector',
             value: [
-              { value: 'a', metadata: { line: 1, column: 1, source: 'one.css' } }
+              { value: 'a', metadata: { line: 1, column: 0, source: 'one.css' } }
             ],
             body: []
           },
           {
             kind: 'selector',
             value: [
-              { value: '\na', metadata: { line: 2, column: 1, source: 'two.css' } }
+              { value: '\na', metadata: { line: 2, column: 0, source: 'two.css' } }
             ],
-            body: [{ value: 'color:red', metadata: { line: 2, column: 3, source: 'two.css' } }]
+            body: [{ value: 'color:red', metadata: { line: 2, column: 2, source: 'two.css' } }]
           }
         ]
       ]
index ffff5c4..3b874cc 100644 (file)
@@ -24,9 +24,9 @@ vows.describe('source-map')
       'should have selector mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 9,
+          generatedColumn: 8,
           originalLine: 1,
-          originalColumn: 9,
+          originalColumn: 8,
           source: '__stdin__.css',
           name: null
         };
@@ -35,9 +35,9 @@ vows.describe('source-map')
       'should have body mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 30,
+          generatedColumn: 29,
           originalLine: 1,
-          originalColumn: 32,
+          originalColumn: 31,
           source: '__stdin__.css',
           name: null
         };
@@ -52,9 +52,9 @@ vows.describe('source-map')
       'should have @media mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: '__stdin__.css',
           name: null
         };
@@ -63,9 +63,9 @@ vows.describe('source-map')
       'should have @font-face mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 15,
+          generatedColumn: 14,
           originalLine: 2,
-          originalColumn: 1,
+          originalColumn: 0,
           source: '__stdin__.css',
           name: null
         };
@@ -74,9 +74,9 @@ vows.describe('source-map')
       'should have font-family mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 26,
+          generatedColumn: 25,
           originalLine: 4,
-          originalColumn: 1,
+          originalColumn: 0,
           source: '__stdin__.css',
           name: null
         };
@@ -91,9 +91,9 @@ vows.describe('source-map')
       'should have @media mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: '__stdin__.css',
           name: null
         };
@@ -102,9 +102,9 @@ vows.describe('source-map')
       'should have _a_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 15,
+          generatedColumn: 14,
           originalLine: 1,
-          originalColumn: 17,
+          originalColumn: 16,
           source: '__stdin__.css',
           name: null
         };
@@ -113,9 +113,9 @@ vows.describe('source-map')
       'should have _color:red_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 17,
+          generatedColumn: 16,
           originalLine: 1,
-          originalColumn: 19,
+          originalColumn: 18,
           source: '__stdin__.css',
           name: null
         };
@@ -124,9 +124,9 @@ vows.describe('source-map')
       'should have _p_ mapping': function (minified) {
         var mapping = {
           generatedLine: 2,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 30,
+          originalColumn: 29,
           source: '__stdin__.css',
           name: null
         };
@@ -135,9 +135,9 @@ vows.describe('source-map')
       'should have _color:blue_ mapping': function (minified) {
         var mapping = {
           generatedLine: 2,
-          generatedColumn: 3,
+          generatedColumn: 2,
           originalLine: 1,
-          originalColumn: 33,
+          originalColumn: 32,
           source: '__stdin__.css',
           name: null
         };
@@ -146,9 +146,9 @@ vows.describe('source-map')
       'should have _div_ mapping': function (minified) {
         var mapping = {
           generatedLine: 4,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 46,
+          originalColumn: 45,
           source: '__stdin__.css',
           name: null
         };
@@ -157,9 +157,9 @@ vows.describe('source-map')
       'should have _color:pink_ mapping': function (minified) {
         var mapping = {
           generatedLine: 4,
-          generatedColumn: 5,
+          generatedColumn: 4,
           originalLine: 1,
-          originalColumn: 50,
+          originalColumn: 49,
           source: '__stdin__.css',
           name: null
         };
@@ -174,9 +174,9 @@ vows.describe('source-map')
       'should have selector mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: '__stdin__.css',
           name: null
         };
@@ -185,9 +185,9 @@ vows.describe('source-map')
       'should have _background_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 3,
+          generatedColumn: 2,
           originalLine: 1,
-          originalColumn: 3,
+          originalColumn: 2,
           source: '__stdin__.css',
           name: null
         };
@@ -196,9 +196,9 @@ vows.describe('source-map')
       'should have _background-color_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 29,
+          generatedColumn: 28,
           originalLine: 1,
-          originalColumn: 29,
+          originalColumn: 28,
           source: '__stdin__.css',
           name: null
         };
@@ -213,9 +213,9 @@ vows.describe('source-map')
       'should have _@keframes_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: '__stdin__.css',
           name: null
         };
@@ -224,9 +224,9 @@ vows.describe('source-map')
       'should have _0%_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 27,
+          generatedColumn: 26,
           originalLine: 2,
-          originalColumn: 3,
+          originalColumn: 2,
           source: '__stdin__.css',
           name: null
         };
@@ -235,9 +235,9 @@ vows.describe('source-map')
       'should have _border:1px_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 30,
+          generatedColumn: 29,
           originalLine: 3,
-          originalColumn: 5,
+          originalColumn: 4,
           source: '__stdin__.css',
           name: null
         };
@@ -246,9 +246,9 @@ vows.describe('source-map')
       'should have _100%_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 41,
+          generatedColumn: 40,
           originalLine: 5,
-          originalColumn: 3,
+          originalColumn: 2,
           source: '__stdin__.css',
           name: null
         };
@@ -257,9 +257,9 @@ vows.describe('source-map')
       'should have _border:3px_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 46,
+          generatedColumn: 45,
           originalLine: 6,
-          originalColumn: 5,
+          originalColumn: 4,
           source: '__stdin__.css',
           name: null
         };
@@ -276,9 +276,9 @@ vows.describe('source-map')
       'should have selector mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: 'styles.less',
           name: null
         };
@@ -287,7 +287,7 @@ vows.describe('source-map')
       'should have _color:red_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 7,
+          generatedColumn: 6,
           originalLine: 3,
           originalColumn: 4,
           source: 'styles.less',
@@ -304,9 +304,9 @@ vows.describe('source-map')
       'should have selector mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: 'styles.less',
           name: null
         };
@@ -315,7 +315,7 @@ vows.describe('source-map')
       'should have _color:red_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 7,
+          generatedColumn: 6,
           originalLine: 3,
           originalColumn: 4,
           source: 'styles.less',
@@ -332,9 +332,9 @@ vows.describe('source-map')
       'should have selector mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: 'styles.less',
           name: null
         };
@@ -343,7 +343,7 @@ vows.describe('source-map')
       'should have _color:red_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 7,
+          generatedColumn: 6,
           originalLine: 3,
           originalColumn: 4,
           source: 'styles.less',
@@ -360,9 +360,9 @@ vows.describe('source-map')
       'should have first selector mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: 'some.less',
           name: null
         };
@@ -371,7 +371,7 @@ vows.describe('source-map')
       'should have _color:red_ mapping': function (minified) {
         var mapping = {
           generatedLine: 1,
-          generatedColumn: 5,
+          generatedColumn: 4,
           originalLine: 2,
           originalColumn: 2,
           source: 'some.less',
@@ -382,9 +382,9 @@ vows.describe('source-map')
       'should have second selector mapping': function (minified) {
         var mapping = {
           generatedLine: 2,
-          generatedColumn: 1,
+          generatedColumn: 0,
           originalLine: 1,
-          originalColumn: 1,
+          originalColumn: 0,
           source: 'styles.less',
           name: null
         };
@@ -393,7 +393,7 @@ vows.describe('source-map')
       'should have _color:blue_ mapping': function (minified) {
         var mapping = {
           generatedLine: 2,
-          generatedColumn: 7,
+          generatedColumn: 6,
           originalLine: 3,
           originalColumn: 4,
           source: 'styles.less',