Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1586)

Unified Diff: third_party/closure_linter/closure_linter/javascriptstatetracker_test.py

Issue 2592193002: Remove closure_linter from Chrome (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/closure_linter/closure_linter/javascriptstatetracker_test.py
diff --git a/third_party/closure_linter/closure_linter/javascriptstatetracker_test.py b/third_party/closure_linter/closure_linter/javascriptstatetracker_test.py
deleted file mode 100644
index 76dabd2c70d58a19eeee12c7875de52042b20beb..0000000000000000000000000000000000000000
--- a/third_party/closure_linter/closure_linter/javascriptstatetracker_test.py
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2012 The Closure Linter Authors. All Rights Reserved.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS-IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Unit tests for the javascriptstatetracker module."""
-
-# Allow non-Google copyright
-# pylint: disable=g-bad-file-header
-
-__author__ = ('nnaze@google.com (Nathan Naze)')
-
-
-import unittest as googletest
-
-from closure_linter import javascripttokens
-from closure_linter import testutil
-from closure_linter import tokenutil
-
-
-_FUNCTION_SCRIPT = """\
-var a = 3;
-
-function foo(aaa, bbb, ccc) {
- var b = 4;
-}
-
-
-/**
- * JSDoc comment.
- */
-var bar = function(ddd, eee, fff) {
-
-};
-
-
-/**
- * Verify that nested functions get their proper parameters recorded.
- */
-var baz = function(ggg, hhh, iii) {
- var qux = function(jjj, kkk, lll) {
- };
- // make sure that entering a new block does not change baz' parameters.
- {};
-};
-
-"""
-
-
-class FunctionTest(googletest.TestCase):
-
- def testFunctionParse(self):
- functions, _ = testutil.ParseFunctionsAndComments(_FUNCTION_SCRIPT)
- self.assertEquals(4, len(functions))
-
- # First function
- function = functions[0]
- self.assertEquals(['aaa', 'bbb', 'ccc'], function.parameters)
-
- start_token = function.start_token
- end_token = function.end_token
-
- self.assertEquals(
- javascripttokens.JavaScriptTokenType.FUNCTION_DECLARATION,
- function.start_token.type)
-
- self.assertEquals('function', start_token.string)
- self.assertEquals(3, start_token.line_number)
- self.assertEquals(0, start_token.start_index)
-
- self.assertEquals('}', end_token.string)
- self.assertEquals(5, end_token.line_number)
- self.assertEquals(0, end_token.start_index)
-
- self.assertEquals('foo', function.name)
-
- self.assertIsNone(function.doc)
-
- # Second function
- function = functions[1]
- self.assertEquals(['ddd', 'eee', 'fff'], function.parameters)
-
- start_token = function.start_token
- end_token = function.end_token
-
- self.assertEquals(
- javascripttokens.JavaScriptTokenType.FUNCTION_DECLARATION,
- function.start_token.type)
-
- self.assertEquals('function', start_token.string)
- self.assertEquals(11, start_token.line_number)
- self.assertEquals(10, start_token.start_index)
-
- self.assertEquals('}', end_token.string)
- self.assertEquals(13, end_token.line_number)
- self.assertEquals(0, end_token.start_index)
-
- self.assertEquals('bar', function.name)
-
- self.assertIsNotNone(function.doc)
-
- # Check function JSDoc
- doc = function.doc
- doc_tokens = tokenutil.GetTokenRange(doc.start_token, doc.end_token)
-
- comment_type = javascripttokens.JavaScriptTokenType.COMMENT
- comment_tokens = filter(lambda t: t.type is comment_type, doc_tokens)
-
- self.assertEquals('JSDoc comment.',
- tokenutil.TokensToString(comment_tokens).strip())
-
- # Third function
- function = functions[2]
- self.assertEquals(['ggg', 'hhh', 'iii'], function.parameters)
-
- start_token = function.start_token
- end_token = function.end_token
-
- self.assertEquals(
- javascripttokens.JavaScriptTokenType.FUNCTION_DECLARATION,
- function.start_token.type)
-
- self.assertEquals('function', start_token.string)
- self.assertEquals(19, start_token.line_number)
- self.assertEquals(10, start_token.start_index)
-
- self.assertEquals('}', end_token.string)
- self.assertEquals(24, end_token.line_number)
- self.assertEquals(0, end_token.start_index)
-
- self.assertEquals('baz', function.name)
- self.assertIsNotNone(function.doc)
-
- # Fourth function (inside third function)
- function = functions[3]
- self.assertEquals(['jjj', 'kkk', 'lll'], function.parameters)
-
- start_token = function.start_token
- end_token = function.end_token
-
- self.assertEquals(
- javascripttokens.JavaScriptTokenType.FUNCTION_DECLARATION,
- function.start_token.type)
-
- self.assertEquals('function', start_token.string)
- self.assertEquals(20, start_token.line_number)
- self.assertEquals(12, start_token.start_index)
-
- self.assertEquals('}', end_token.string)
- self.assertEquals(21, end_token.line_number)
- self.assertEquals(2, end_token.start_index)
-
- self.assertEquals('qux', function.name)
- self.assertIsNone(function.doc)
-
-
-
-class CommentTest(googletest.TestCase):
-
- def testGetDescription(self):
- comment = self._ParseComment("""
- /**
- * Comment targeting goog.foo.
- *
- * This is the second line.
- * @param {number} foo The count of foo.
- */
- target;""")
-
- self.assertEqual(
- 'Comment targeting goog.foo.\n\nThis is the second line.',
- comment.description)
-
- def testCommentGetTarget(self):
- self.assertCommentTarget('goog.foo', """
- /**
- * Comment targeting goog.foo.
- */
- goog.foo = 6;
- """)
-
- self.assertCommentTarget('bar', """
- /**
- * Comment targeting bar.
- */
- var bar = "Karate!";
- """)
-
- self.assertCommentTarget('doThing', """
- /**
- * Comment targeting doThing.
- */
- function doThing() {};
- """)
-
- self.assertCommentTarget('this.targetProperty', """
- goog.bar.Baz = function() {
- /**
- * Comment targeting targetProperty.
- */
- this.targetProperty = 3;
- };
- """)
-
- self.assertCommentTarget('goog.bar.prop', """
- /**
- * Comment targeting goog.bar.prop.
- */
- goog.bar.prop;
- """)
-
- self.assertCommentTarget('goog.aaa.bbb', """
- /**
- * Comment targeting goog.aaa.bbb.
- */
- (goog.aaa.bbb)
- """)
-
- self.assertCommentTarget('theTarget', """
- /**
- * Comment targeting symbol preceded by newlines, whitespace,
- * and parens -- things we ignore.
- */
- (theTarget)
- """)
-
- self.assertCommentTarget(None, """
- /**
- * @fileoverview File overview.
- */
- (notATarget)
- """)
-
- self.assertCommentTarget(None, """
- /**
- * Comment that doesn't find a target.
- */
- """)
-
- self.assertCommentTarget('theTarget.is.split.across.lines', """
- /**
- * Comment that addresses a symbol split across lines.
- */
- (theTarget.is.split
- .across.lines)
- """)
-
- self.assertCommentTarget('theTarget.is.split.across.lines', """
- /**
- * Comment that addresses a symbol split across lines.
- */
- (theTarget.is.split.
- across.lines)
- """)
-
- def _ParseComment(self, script):
- """Parse a script that contains one comment and return it."""
- _, comments = testutil.ParseFunctionsAndComments(script)
- self.assertEquals(1, len(comments))
- return comments[0]
-
- def assertCommentTarget(self, target, script):
- comment = self._ParseComment(script)
- self.assertEquals(target, comment.GetTargetIdentifier())
-
-
-if __name__ == '__main__':
- googletest.main()

Powered by Google App Engine
This is Rietveld 408576698