Commit aec80c23 authored by Dan Beam's avatar Dan Beam Committed by Commit Bot

Add presubmit to encourage folks to import the preconfigured polymer.html

R=dpapad@chromium.org
BUG=884428

Change-Id: Icfe2e0993204434e2639b506bd581e0fd7ef296e
Reviewed-on: https://chromium-review.googlesource.com/1227596Reviewed-by: default avatarDemetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Dan Beam (no longer on Chrome) <dbeam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592668}
parent ab33e9ff
...@@ -72,6 +72,13 @@ class HtmlChecker(object): ...@@ -72,6 +72,13 @@ class HtmlChecker(object):
return regex_check.RegexCheck(self.input_api.re, line_number, line, regex, return regex_check.RegexCheck(self.input_api.re, line_number, line, regex,
"For i18n-content use javaScriptCase.") "For i18n-content use javaScriptCase.")
def ImportCorrectPolymerHtml(self, line_number, line):
bad_import_url = r"(chrome://resources/polymer/v1_0/polymer/polymer.html)"
regex = self.input_api.re.compile(bad_import_url)
return regex_check.RegexCheck(self.input_api.re, line_number, line, regex,
"Please import chrome://resources/html/polymer.html instead " +
"(to ensure your Polymer config is set up correctly)");
def LabelCheck(self, line_number, line): def LabelCheck(self, line_number, line):
regex = self.input_api.re.compile(""" regex = self.input_api.re.compile("""
(?:^|\s) # start of line or whitespace (?:^|\s) # start of line or whitespace
...@@ -110,6 +117,7 @@ class HtmlChecker(object): ...@@ -110,6 +117,7 @@ class HtmlChecker(object):
self.DoNotUseBrElementCheck(line_number, line), self.DoNotUseBrElementCheck(line_number, line),
self.DoNotUseInputTypeButtonCheck(line_number, line), self.DoNotUseInputTypeButtonCheck(line_number, line),
self.I18nContentJavaScriptCaseCheck(line_number, line), self.I18nContentJavaScriptCaseCheck(line_number, line),
self.ImportCorrectPolymerHtml(line_number, line),
self.LabelCheck(line_number, line), self.LabelCheck(line_number, line),
self.QuotePolymerBindings(line_number, line), self.QuotePolymerBindings(line_number, line),
])) ]))
......
...@@ -169,6 +169,24 @@ class HtmlCheckerTest(SuperMoxTestBase): ...@@ -169,6 +169,24 @@ class HtmlCheckerTest(SuperMoxTestBase):
for line in lines: for line in lines:
self.ShouldPassCheck(line, self.checker.I18nContentJavaScriptCaseCheck) self.ShouldPassCheck(line, self.checker.I18nContentJavaScriptCaseCheck)
def testImportCorrectPolymerHtmlFails(self):
bad_url = 'chrome://resources/polymer/v1_0/polymer/polymer.html'
lines = [
'<link rel="import" href="%s">' % bad_url,
'<link href="%s" rel="import">' % bad_url,
]
for line in lines:
self.ShouldFailCheck(line, self.checker.ImportCorrectPolymerHtml)
def testImportCorrectPolymerHtmlPasses(self):
good_url = 'chrome://resources/html/polymer.html'
lines = [
'<link rel="import" href="%s">' % good_url,
'<link href="%s" rel="import">' % good_url,
]
for line in lines:
self.ShouldPassCheck(line, self.checker.ImportCorrectPolymerHtml)
def testLabelCheckFails(self): def testLabelCheckFails(self):
lines = [ lines = [
' <label for="abc"', ' <label for="abc"',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment