edbf76d51313c822630b21468a163ed2ffc10ba3
[platform/framework/web/crosswalk-tizen.git] /
1 /**
2  * @fileoverview Rule to count multiple spaces in regular expressions
3  * @author Matt DuVall <http://www.mattduvall.com/>
4  */
5
6 "use strict";
7
8 //------------------------------------------------------------------------------
9 // Rule Definition
10 //------------------------------------------------------------------------------
11
12 module.exports = function(context) {
13
14     return {
15
16         "Literal": function(node) {
17             var token = context.getFirstToken(node),
18                 nodeType = token.type,
19                 nodeValue = token.value,
20                 multipleSpacesRegex = /( {2,})+?/,
21                 regexResults;
22
23             if (nodeType === "RegularExpression") {
24                 regexResults = multipleSpacesRegex.exec(nodeValue);
25
26                 if (regexResults !== null) {
27                     context.report(node, "Spaces are hard to count. Use {" + regexResults[0].length + "}.");
28                 }
29             }
30         }
31     };
32
33 };