Repository: brenolf/polyjuice (js)

Issue:
Add `disallowTabs` rule
http://jscs.info/rule/disallowTabs

Pull request description:
Resolves #36

Patch:
diff --git a/lib/dictionaries/jscs/disallowTabs.js b/lib/dictionaries/jscs/disallowTabs.js
new file mode 100644
index 0000000..e34b6e1
--- /dev/null
+++ b/lib/dictionaries/jscs/disallowTabs.js
@@ -0,0 +1,27 @@
+/**
+* @fileoverview Translation for `disallowTabs` (JSCS) to ESLint
+* @author Breno Lima de Freitas <https://breno.io>
+* @copyright 2016 Breno Lima de Freitas. All rights reserved.
+* See LICENSE file in root directory for full license.
+*/
+
+'use strict'
+
+//------------------------------------------------------------------------------
+// Rule Translation Definition
+//------------------------------------------------------------------------------
+
+module.exports = {
+  'name': 'indent',
+  'truthy': function(__current__) {
+    var tabs = 2;
+
+    if (__current__ && typeof __current__[1] === 'number') {
+      tabs = __current__[1];
+    }
+
+    return [2, tabs, {
+      'SwitchCase': 1
+    }]
+  }
+};


Test patch:
diff --git a/test/dictionaries/jscs/disallowTabs.test.js b/test/dictionaries/jscs/disallowTabs.test.js
new file mode 100644
index 0000000..da744d3
--- /dev/null
+++ b/test/dictionaries/jscs/disallowTabs.test.js
@@ -0,0 +1,28 @@
+/**
+ * @fileoverview Tests for `disallowTabs` (JSCS) translation
+ * @author Breno Lima de Freitas <https://breno.io>
+ * @copyright 2016 Breno Lima de Freitas. All rights reserved.
+ * See LICENSE file in root directory for full license.
+ */
+
+'use strict'
+
+//------------------------------------------------------------------------------
+// Requirements
+//------------------------------------------------------------------------------
+
+var lib = require('../../../lib/dictionaries/jscs/disallowTabs.js')
+
+var getFn = caller(lib)
+
+describe('jscs#disallowTabs', function() {
+  it('converts the rule correctly', function() {
+    var fn = getFn()
+
+    var fnBound = getFn([2, 4])
+
+    expect(fn(true)).to.eql([2, 2, {'SwitchCase': 1}])
+
+    expect(fnBound(true)).to.eql([2, 4, {'SwitchCase': 1}])
+  })
+})