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

Unified Diff: third_party/closure_linter/closure_linter/aliaspass_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/aliaspass_test.py
diff --git a/third_party/closure_linter/closure_linter/aliaspass_test.py b/third_party/closure_linter/closure_linter/aliaspass_test.py
deleted file mode 100644
index 7042e5348763cb471b3c49ba056a5e7369ff5100..0000000000000000000000000000000000000000
--- a/third_party/closure_linter/closure_linter/aliaspass_test.py
+++ /dev/null
@@ -1,191 +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 aliaspass 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 aliaspass
-from closure_linter import errors
-from closure_linter import javascriptstatetracker
-from closure_linter import testutil
-from closure_linter.common import erroraccumulator
-
-
-def _GetTokenByLineAndString(start_token, string, line_number):
- for token in start_token:
- if token.line_number == line_number and token.string == string:
- return token
-
-
-class AliasPassTest(googletest.TestCase):
-
- def testInvalidGoogScopeCall(self):
- start_token = testutil.TokenizeSourceAndRunEcmaPass(_TEST_SCOPE_SCRIPT)
-
- error_accumulator = erroraccumulator.ErrorAccumulator()
- alias_pass = aliaspass.AliasPass(
- error_handler=error_accumulator)
- alias_pass.Process(start_token)
-
- alias_errors = error_accumulator.GetErrors()
- self.assertEquals(1, len(alias_errors))
-
- alias_error = alias_errors[0]
-
- self.assertEquals(errors.INVALID_USE_OF_GOOG_SCOPE, alias_error.code)
- self.assertEquals('goog.scope', alias_error.token.string)
-
- def testAliasedIdentifiers(self):
- start_token = testutil.TokenizeSourceAndRunEcmaPass(_TEST_ALIAS_SCRIPT)
- alias_pass = aliaspass.AliasPass(set(['goog', 'myproject']))
- alias_pass.Process(start_token)
-
- alias_token = _GetTokenByLineAndString(start_token, 'Event', 4)
- self.assertTrue(alias_token.metadata.is_alias_definition)
-
- my_class_token = _GetTokenByLineAndString(start_token, 'myClass', 9)
- self.assertIsNone(my_class_token.metadata.aliased_symbol)
-
- component_token = _GetTokenByLineAndString(start_token, 'Component', 17)
- self.assertEquals('goog.ui.Component',
- component_token.metadata.aliased_symbol)
-
- event_token = _GetTokenByLineAndString(start_token, 'Event.Something', 17)
- self.assertEquals('goog.events.Event.Something',
- event_token.metadata.aliased_symbol)
-
- non_closurized_token = _GetTokenByLineAndString(
- start_token, 'NonClosurizedClass', 18)
- self.assertIsNone(non_closurized_token.metadata.aliased_symbol)
-
- long_start_token = _GetTokenByLineAndString(start_token, 'Event', 24)
- self.assertEquals('goog.events.Event.MultilineIdentifier.someMethod',
- long_start_token.metadata.aliased_symbol)
-
- def testAliasedDoctypes(self):
- """Tests that aliases are correctly expanded within type annotations."""
- start_token = testutil.TokenizeSourceAndRunEcmaPass(_TEST_ALIAS_SCRIPT)
- tracker = javascriptstatetracker.JavaScriptStateTracker()
- tracker.DocFlagPass(start_token, error_handler=None)
-
- alias_pass = aliaspass.AliasPass(set(['goog', 'myproject']))
- alias_pass.Process(start_token)
-
- flag_token = _GetTokenByLineAndString(start_token, '@type', 22)
- self.assertEquals(
- 'goog.events.Event.<goog.ui.Component,Array<myproject.foo.MyClass>>',
- repr(flag_token.attached_object.jstype))
-
- def testModuleAlias(self):
- start_token = testutil.TokenizeSourceAndRunEcmaPass("""
-goog.module('goog.test');
-var Alias = goog.require('goog.Alias');
-Alias.use();
-""")
- alias_pass = aliaspass.AliasPass(set(['goog']))
- alias_pass.Process(start_token)
- alias_token = _GetTokenByLineAndString(start_token, 'Alias', 3)
- self.assertTrue(alias_token.metadata.is_alias_definition)
-
- def testMultipleGoogScopeCalls(self):
- start_token = testutil.TokenizeSourceAndRunEcmaPass(
- _TEST_MULTIPLE_SCOPE_SCRIPT)
-
- error_accumulator = erroraccumulator.ErrorAccumulator()
-
- alias_pass = aliaspass.AliasPass(
- set(['goog', 'myproject']),
- error_handler=error_accumulator)
- alias_pass.Process(start_token)
-
- alias_errors = error_accumulator.GetErrors()
-
- self.assertEquals(3, len(alias_errors))
-
- error = alias_errors[0]
- self.assertEquals(errors.INVALID_USE_OF_GOOG_SCOPE, error.code)
- self.assertEquals(7, error.token.line_number)
-
- error = alias_errors[1]
- self.assertEquals(errors.EXTRA_GOOG_SCOPE_USAGE, error.code)
- self.assertEquals(7, error.token.line_number)
-
- error = alias_errors[2]
- self.assertEquals(errors.EXTRA_GOOG_SCOPE_USAGE, error.code)
- self.assertEquals(11, error.token.line_number)
-
-
-_TEST_ALIAS_SCRIPT = """
-goog.scope(function() {
-var events = goog.events; // scope alias
-var Event = events.
- Event; // nested multiline scope alias
-
-// This should not be registered as an aliased identifier because
-// it appears before the alias.
-var myClass = new MyClass();
-
-var Component = goog.ui.Component; // scope alias
-var MyClass = myproject.foo.MyClass; // scope alias
-
-// Scope alias of non-Closurized namespace.
-var NonClosurizedClass = aaa.bbb.NonClosurizedClass;
-
-var component = new Component(Event.Something);
-var nonClosurized = NonClosurizedClass();
-
-/**
- * A created namespace with a really long identifier.
- * @type {events.Event.<Component,Array<MyClass>}
- */
-Event.
- MultilineIdentifier.
- someMethod = function() {};
-});
-"""
-
-_TEST_SCOPE_SCRIPT = """
-function foo () {
- // This goog.scope call is invalid.
- goog.scope(function() {
-
- });
-}
-"""
-
-_TEST_MULTIPLE_SCOPE_SCRIPT = """
-goog.scope(function() {
- // do nothing
-});
-
-function foo() {
- var test = goog.scope; // We should not see goog.scope mentioned.
-}
-
-// This goog.scope invalid. There can be only one.
-goog.scope(function() {
-
-});
-"""
-
-
-if __name__ == '__main__':
- googletest.main()
« no previous file with comments | « third_party/closure_linter/closure_linter/aliaspass.py ('k') | third_party/closure_linter/closure_linter/checker.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698