def testIgnoredExtraNamespaces(self): """Tests that ignored_extra_namespaces are ignored.""" token = self._GetRequireTokens('package.Something') namespaces_info = closurizednamespacesinfo.ClosurizedNamespacesInfo( closurized_namespaces=['package'], ignored_extra_namespaces=['package.Something']) self.assertFalse(namespaces_info.IsExtraRequire(token), 'Should be valid since it is in ignored namespaces.') namespaces_info = closurizednamespacesinfo.ClosurizedNamespacesInfo( ['package'], []) self.assertTrue(namespaces_info.IsExtraRequire(token), 'Should be invalid since it is not in ignored namespaces.')
def testGetClosurizedNamespace(self): """Tests that the correct namespace is returned for various identifiers.""" namespaces_info = closurizednamespacesinfo.ClosurizedNamespacesInfo( closurized_namespaces=['package'], ignored_extra_namespaces=[]) for identifier, expected_namespace in self._test_cases.items(): actual_namespace = namespaces_info.GetClosurizedNamespace( identifier) self.assertEqual( expected_namespace, actual_namespace, 'expected namespace "' + str(expected_namespace) + '" for identifier "' + str(identifier) + '" but was "' + str(actual_namespace) + '"')
def testGetWholeIdentifierString(self): """Tests that created identifiers satisfy usage of the identifier.""" input_lines = ['package.Foo.', ' veryLong.', ' identifier;'] token = testutil.TokenizeSource(input_lines) namespaces_info = closurizednamespacesinfo.ClosurizedNamespacesInfo([], []) self.assertEquals('package.Foo.veryLong.identifier', namespaces_info._GetWholeIdentifierString(token)) self.assertEquals( None, namespaces_info._GetWholeIdentifierString(token.next))
def _GetInitializedNamespacesInfo(self, token, closurized_namespaces, ignored_extra_namespaces): """Returns a namespaces info initialized with the given token stream.""" namespaces_info = closurizednamespacesinfo.ClosurizedNamespacesInfo( closurized_namespaces=closurized_namespaces, ignored_extra_namespaces=ignored_extra_namespaces) state_tracker = javascriptstatetracker.JavaScriptStateTracker() while token: namespaces_info.ProcessToken(token, state_tracker) token = token.next return namespaces_info
def _GetInitializedNamespacesInfo(self, token, closurized_namespaces, ignored_extra_namespaces): """Returns a namespaces info initialized with the given token stream.""" namespaces_info = closurizednamespacesinfo.ClosurizedNamespacesInfo( closurized_namespaces=closurized_namespaces, ignored_extra_namespaces=ignored_extra_namespaces) state_tracker = javascriptstatetracker.JavaScriptStateTracker() ecma_pass = ecmametadatapass.EcmaMetaDataPass() ecma_pass.Process(token) alias_pass = aliaspass.AliasPass(closurized_namespaces) alias_pass.Process(token) while token: namespaces_info.ProcessToken(token, state_tracker) token = token.next return namespaces_info
def __init__(self, state_tracker, error_handler): """Initialize an JavaScriptStyleChecker object. Args: state_tracker: State tracker. error_handler: Error handler to pass all errors to. """ self._namespaces_info = None if flags.FLAGS.closurized_namespaces: self._namespaces_info = ( closurizednamespacesinfo.ClosurizedNamespacesInfo( flags.FLAGS.closurized_namespaces, flags.FLAGS.ignored_extra_namespaces)) checkerbase.CheckerBase.__init__( self, error_handler=error_handler, lint_rules=javascriptlintrules.JavaScriptLintRules( self._namespaces_info), state_tracker=state_tracker)
def __init__(self, error_handler): """Initialize an JavaScriptStyleChecker object. Args: error_handler: Error handler to pass all errors to """ self._namespaces_info = None if flags.FLAGS.closurized_namespaces: self._namespaces_info = ( closurizednamespacesinfo.ClosurizedNamespacesInfo( flags.FLAGS.closurized_namespaces, flags.FLAGS.ignored_extra_namespaces)) checkerbase.CheckerBase.__init__( self, error_handler=error_handler, lint_rules=javascriptlintrules.JavaScriptLintRules( self._namespaces_info), state_tracker=javascriptstatetracker.JavaScriptStateTracker(), metadata_pass=ecmametadatapass.EcmaMetaDataPass(), limited_doc_files=flags.FLAGS.limited_doc_files)