1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 """Run the Chrome WebUI presubmit scripts on our test javascript.
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8 for more details about the presubmit API built into depot_tools, and see
9 http://www.chromium.org/developers/web-development-style-guide for the rules
10 we're checking against here.
15 def GetPathsToPrepend(input_api
):
16 web_dev_style_path
= input_api
.os_path
.join(
17 input_api
.change
.RepositoryRoot(),
21 return [input_api
.PresubmitLocalPath(), web_dev_style_path
]
23 def RunWithPrependedPath(prepended_path
, fn
, *args
):
28 sys
.path
= prepended_path
+ old_path
33 def CheckChangeOnUpload(input_api
, output_api
):
36 results
.extend(_CommonChecks(input_api
, output_api
))
38 return RunWithPrependedPath(GetPathsToPrepend(input_api
), go
)
40 def CheckChangeOnCommit(input_api
, output_api
):
43 results
.extend(_CommonChecks(input_api
, output_api
))
45 return RunWithPrependedPath(GetPathsToPrepend(input_api
), go
)
47 def _CommonChecks(input_api
, output_api
):
48 resources
= input_api
.PresubmitLocalPath()
50 def _html_css_js_resource(p
):
51 return p
.endswith(('.js')) and p
.startswith(resources
)
53 def is_resource(maybe_resource
):
54 return _html_css_js_resource(maybe_resource
.AbsoluteLocalPath())
56 from web_dev_style
import js_checker
59 results
.extend(js_checker
.JSChecker(
60 input_api
, output_api
, file_filter
=is_resource
).RunChecks())