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
Exemple #6
0
    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)
Exemple #7
0
    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)