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

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

Issue 2328693002: Updated linter with upstream release (2.3.19) (Closed)
Patch Set: Created 4 years, 3 months 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
index 1c5578870d5902a9ca117adce3ac18901b90fdb7..7042e5348763cb471b3c49ba056a5e7369ff5100 100644
--- a/third_party/closure_linter/closure_linter/aliaspass_test.py
+++ b/third_party/closure_linter/closure_linter/aliaspass_test.py
@@ -24,6 +24,7 @@ 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
@@ -75,10 +76,35 @@ class AliasPassTest(googletest.TestCase):
start_token, 'NonClosurizedClass', 18)
self.assertIsNone(non_closurized_token.metadata.aliased_symbol)
- long_start_token = _GetTokenByLineAndString(start_token, 'Event.', 21)
+ 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)
@@ -126,7 +152,10 @@ var NonClosurizedClass = aaa.bbb.NonClosurizedClass;
var component = new Component(Event.Something);
var nonClosurized = NonClosurizedClass();
-// A created namespace with a really long identifier.
+/**
+ * A created namespace with a really long identifier.
+ * @type {events.Event.<Component,Array<MyClass>}
+ */
Event.
MultilineIdentifier.
someMethod = function() {};

Powered by Google App Engine
This is Rietveld 408576698