[javascriptlint-commit] SF.net SVN: javascriptlint:[305] trunk
Status: Beta
Brought to you by:
matthiasmiller
|
From: <mat...@us...> - 2013-09-28 03:38:26
|
Revision: 305
http://sourceforge.net/p/javascriptlint/code/305
Author: matthiasmiller
Date: 2013-09-28 03:38:24 +0000 (Sat, 28 Sep 2013)
Log Message:
-----------
#41 python re-write doesn't support option explicit Move Edit
Fix traceback mentioned in comment regarding invalid control comments
Modified Paths:
--------------
trunk/javascriptlint/lint.py
trunk/tests/control_comments/control_comments.js
Modified: trunk/javascriptlint/lint.py
===================================================================
--- trunk/javascriptlint/lint.py 2013-09-28 03:06:19 UTC (rev 304)
+++ trunk/javascriptlint/lint.py 2013-09-28 03:38:24 UTC (rev 305)
@@ -54,29 +54,28 @@
control_comment = comment.atom[1:-1]
else:
return None
+ control_comment = control_comment.lower().rstrip()
- control_comments = {
- 'ignoreall': (False),
- 'ignore': (False),
- 'end': (False),
- 'option explicit': (False),
- 'import': (True),
- 'fallthru': (False),
- 'pass': (False),
- 'declare': (True),
- 'unused': (True),
- 'content-type': (True),
- }
- if control_comment.lower() in control_comments:
- keyword = control_comment.lower()
- else:
- keyword = control_comment.lower().split()[0]
- if not keyword in control_comments:
- return None
+ keywords = (
+ 'ignoreall',
+ 'ignore',
+ 'end',
+ 'option explicit',
+ 'import',
+ 'fallthru',
+ 'pass',
+ 'declare',
+ 'unused',
+ 'content-type',
+ )
+ for keyword in keywords:
+ # The keyword must either match or be separated by a space.
+ if control_comment == keyword or \
+ (control_comment.startswith(keyword) and \
+ control_comment[len(keyword)].isspace()):
+ parms = control_comment[len(keyword):].strip()
+ return (comment, keyword, parms.strip())
- parms = control_comment[len(keyword):].strip()
- return (comment, keyword, parms)
-
class Scope:
""" Outer-level scopes will never be associated with a node.
Inner-level scopes will always be associated with a node.
Modified: trunk/tests/control_comments/control_comments.js
===================================================================
--- trunk/tests/control_comments/control_comments.js 2013-09-28 03:06:19 UTC (rev 304)
+++ trunk/tests/control_comments/control_comments.js 2013-09-28 03:38:24 UTC (rev 305)
@@ -29,5 +29,15 @@
/* illegal - don't forget to end */
/*jsl:ignore*/ /*warning:mismatch_ctrl_comments*/
+
+ // The following are illegal. Make sure jsl doesn't choke.
+ /*jsl:*/ /*warning:jsl_cc_not_understood*/
+ if (a)
+ {
+ /*jsl:pass */
+ }
+ /*jsl:ignoreal*/ /*warning:jsl_cc_not_understood*/
+ /*jsl:declarebogus*/ /*warning:jsl_cc_not_understood*/
+ /*jsl:declare bogus */
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|