| Index: chrome/browser/test_presubmit.py
|
| diff --git a/chrome/browser/test_presubmit.py b/chrome/browser/test_presubmit.py
|
| index 1f7e939199c08f713be9063acf8c8b465a4889e8..018991f0b7673cd7c69503f522d506b4189c5ef4 100755
|
| --- a/chrome/browser/test_presubmit.py
|
| +++ b/chrome/browser/test_presubmit.py
|
| @@ -18,7 +18,56 @@ sys.path.extend([
|
|
|
| import find_depot_tools # pylint: disable=W0611
|
| from testing_support.super_mox import SuperMoxTestBase
|
| -from web_dev_style import css_checker, js_checker # pylint: disable=F0401
|
| +from web_dev_style import resource_checker, css_checker, js_checker # pylint: disable=F0401
|
| +
|
| +
|
| +def GetHighlight(line, error):
|
| + """Returns the substring of |line| that is highlighted in |error|."""
|
| + error_lines = error.split('\n')
|
| + highlight = error_lines[error_lines.index(line) + 1]
|
| + return ''.join(ch1 for (ch1, ch2) in zip(line, highlight) if ch2 == '^')
|
| +
|
| +
|
| +class ResourceStyleGuideTest(SuperMoxTestBase):
|
| + def setUp(self):
|
| + SuperMoxTestBase.setUp(self)
|
| +
|
| + input_api = self.mox.CreateMockAnything()
|
| + input_api.re = re
|
| + output_api = self.mox.CreateMockAnything()
|
| + self.checker = resource_checker.ResourceChecker(input_api, output_api)
|
| +
|
| + def ShouldFailIncludeCheck(self, line):
|
| + """Checks that the '</include>' checker flags |line| as a style error."""
|
| + error = self.checker.IncludeCheck(1, line)
|
| + self.assertNotEqual('', error,
|
| + 'Should be flagged as style error: ' + line)
|
| + self.assertEqual(GetHighlight(line, error), '</include>')
|
| +
|
| + def ShouldPassIncludeCheck(self, line):
|
| + """Checks that the '</include>' checker doesn't flag |line| as an error."""
|
| + self.assertEqual('', self.checker.IncludeCheck(1, line),
|
| + 'Should not be flagged as style error: ' + line)
|
| +
|
| + def testIncludeFails(self):
|
| + lines = [
|
| + "</include> ",
|
| + " </include>",
|
| + " </include> ",
|
| + ]
|
| + for line in lines:
|
| + self.ShouldFailIncludeCheck(line)
|
| +
|
| + def testIncludePasses(self):
|
| + lines = [
|
| + '<include src="assert.js">',
|
| + "<include src='../../assert.js'>",
|
| + "<i>include src='blah'</i>",
|
| + "</i>nclude",
|
| + "</i>include",
|
| + ]
|
| + for line in lines:
|
| + self.ShouldPassIncludeCheck(line)
|
|
|
|
|
| class JsStyleGuideTest(SuperMoxTestBase):
|
| @@ -30,18 +79,12 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| output_api = self.mox.CreateMockAnything()
|
| self.checker = js_checker.JSChecker(input_api, output_api)
|
|
|
| - def GetHighlight(self, line, error):
|
| - """Returns the substring of |line| that is highlighted in |error|."""
|
| - error_lines = error.split('\n')
|
| - highlight = error_lines[error_lines.index(line) + 1]
|
| - return ''.join(ch1 for (ch1, ch2) in zip(line, highlight) if ch2 == '^')
|
| -
|
| def ShouldFailConstCheck(self, line):
|
| """Checks that the 'const' checker flags |line| as a style error."""
|
| error = self.checker.ConstCheck(1, line)
|
| self.assertNotEqual('', error,
|
| 'Should be flagged as style error: ' + line)
|
| - self.assertEqual(self.GetHighlight(line, error), 'const')
|
| + self.assertEqual(GetHighlight(line, error), 'const')
|
|
|
| def ShouldPassConstCheck(self, line):
|
| """Checks that the 'const' checker doesn't flag |line| as a style error."""
|
| @@ -100,7 +143,7 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| error = self.checker.ChromeSendCheck(1, line)
|
| self.assertNotEqual('', error,
|
| 'Should be flagged as style error: ' + line)
|
| - self.assertEqual(self.GetHighlight(line, error), ', []')
|
| + self.assertEqual(GetHighlight(line, error), ', []')
|
|
|
| def ShouldPassChromeSendCheck(self, line):
|
| """Checks that the 'chrome.send' checker doesn't flag |line| as a style
|
| @@ -132,7 +175,7 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| error = self.checker.EndJsDocCommentCheck(1, line)
|
| self.assertNotEqual('', error,
|
| 'Should be flagged as style error: ' + line)
|
| - self.assertEqual(self.GetHighlight(line, error), '**/')
|
| + self.assertEqual(GetHighlight(line, error), '**/')
|
|
|
| def ShouldPassEndJsDocCommentCheck(self, line):
|
| """Checks that the **/ checker doesn't flag |line| as a style error."""
|
| @@ -167,7 +210,7 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| error = self.checker.GetElementByIdCheck(1, line)
|
| self.assertNotEqual('', error,
|
| 'Should be flagged as style error: ' + line)
|
| - self.assertEqual(self.GetHighlight(line, error), 'document.getElementById')
|
| + self.assertEqual(GetHighlight(line, error), 'document.getElementById')
|
|
|
| def ShouldPassGetElementByIdCheck(self, line):
|
| """Checks that the 'getElementById' checker doesn't flag |line| as a style
|
| @@ -207,7 +250,7 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| error = self.checker.InheritDocCheck(1, line)
|
| self.assertNotEqual('', error,
|
| msg='Should be flagged as style error: ' + line)
|
| - self.assertEqual(self.GetHighlight(line, error), '@inheritDoc')
|
| + self.assertEqual(GetHighlight(line, error), '@inheritDoc')
|
|
|
| def ShouldPassInheritDocCheck(self, line):
|
| """Checks that the '@inheritDoc' checker doesn't flag |line| as a style
|
| @@ -241,7 +284,7 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| error = self.checker.WrapperTypeCheck(1, line)
|
| self.assertNotEqual('', error,
|
| msg='Should be flagged as style error: ' + line)
|
| - highlight = self.GetHighlight(line, error)
|
| + highlight = GetHighlight(line, error)
|
| self.assertTrue(highlight in ('Boolean', 'Number', 'String'))
|
|
|
| def ShouldPassWrapperTypeCheck(self, line):
|
| @@ -283,7 +326,7 @@ class JsStyleGuideTest(SuperMoxTestBase):
|
| error = self.checker.VarNameCheck(1, line)
|
| self.assertNotEqual('', error,
|
| msg='Should be flagged as style error: ' + line)
|
| - highlight = self.GetHighlight(line, error)
|
| + highlight = GetHighlight(line, error)
|
| self.assertFalse('var ' in highlight);
|
|
|
| def ShouldPassVarNameCheck(self, line):
|
|
|