Repository: rwjblue/ember-cli-template-lint (js)

Issue:
Incorrect expectation of </input>
Hey, maybe my indentation is weird here but I think no error should show up for this:
```handlebars
<input
  type="text"
  value={{if extra.labelPath (get selected extra.labelPath) selected}}
  class="ember-power-select-typeahead-input"
  oninput={{action "search" value="target.value"}}
  onkeydown={{action "onkeydown"}}
  onmousedown={{action "onmousedown"}}>
```
But I'm getting the following error:
```
Incorrect indentation for `input` beginning at ('code/templates/components/input-trigger.hbs'@ L1:C0). Expected `</input>` ending at ('code/templates/components/input-trigger.hbs'@ L7:C44)to be at an indentation of 0 but was found at 36.
```
If i put the input closing `>`char on the next line at position 0 I get ``indentation of 0 but was found at -7.`` which is weird, no?

No error is thrown if I put the whole input in a single line. Or like this:
```handlebars
<input
  type="text"
  value={{if extra.labelPath (get selected extra.labelPath) selected}}
  class="ember-power-select-typeahead-input"
  oninput={{action "search" value="target.value"}}
  onkeydown={{action "handleKeydown"}}
  onmousedown={{action "captureMouseDown"}}
       >
```
I understand why this is happening, but should an error be thrown here? If yes, maybe the expectation of the closing ">" char position should be different.

Thanks a lot in advance!

Pull request:
Prevent triggering errors on void tags.
Fixes #48.

Patch:
diff --git a/ext/plugins/lint-block-indentation.js b/ext/plugins/lint-block-indentation.js
index fcf361c..c2f1020 100644
--- a/ext/plugins/lint-block-indentation.js
+++ b/ext/plugins/lint-block-indentation.js
@@ -12,6 +12,22 @@
 
 var calculateLocationDisplay = require('../helpers/calculate-location-display');
 var buildPlugin = require('./base');
+var VOID_TAGS = { area: true,
+                  base: true,
+                  br: true,
+                  col: true,
+                  command: true,
+                  embed: true,
+                  hr: true,
+                  img: true,
+                  input: true,
+                  keygen: true,
+                  link: true,
+                  meta: true,
+                  param: true,
+                  source: true,
+                  track: true,
+                  wbr: true };
 
 module.exports = function(addonContext) {
   var BlockIndentation = buildPlugin(addonContext, 'block-indentation');
@@ -26,6 +42,11 @@ module.exports = function(addonContext) {
       return;
     }
 
+    // do not validate indentation on VOID_TAG's
+    if (VOID_TAGS[node.tag]) {
+      return;
+    }
+
     var isElementNode = node.type === 'ElementNode';
     var openCloseCharOffset = isElementNode ? 3 : 5;
     var displayName = isElementNode ? node.tag : node.path.original;


Test patch:
diff --git a/node-tests/unit/plugins/lint-block-indentation-test.js b/node-tests/unit/plugins/lint-block-indentation-test.js
index d69a750..313826e 100644
--- a/node-tests/unit/plugins/lint-block-indentation-test.js
+++ b/node-tests/unit/plugins/lint-block-indentation-test.js
@@ -32,7 +32,11 @@ generateRuleTests({
       '    Good night\n' +
       '  {{/if}}\n' +
       '</div>',
-    '{{#link-to "foo.bar"}}Blah{{/link-to}}'
+    '{{#link-to "foo.bar"}}Blah{{/link-to}}',
+    '<input \n' +
+      '  data-foo="blah"\n' +
+      '  data-bar="derp"\n' +
+      '  data-qux="blammo">'
   ],
 
   bad: [