| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| sys.path.append(os.path.join(os.path.dirname(__file__), '..')) |
| from PRESUBMIT_test_mocks import MockAffectedFile |
| from PRESUBMIT_test_mocks import MockInputApi, MockOutputApi |
| def _fails_deps_check(line, filename='BUILD.gn'): |
| mock_input_api = MockInputApi() |
| mock_input_api.files = [MockAffectedFile(filename, [line])] |
| errors = PRESUBMIT.CheckNoBadDeps(mock_input_api, MockOutputApi()) |
| class CheckNoBadDepsTest(unittest.TestCase): |
| self.assertFalse(_fails_deps_check('no # import("//third_party/foo")')) |
| _fails_deps_check('import("//third_party/foo")', filename='foo.txt')) |
| _fails_deps_check('import("//third_party/foo")', filename='foo.gni')) |
| self.assertFalse(_fails_deps_check('import("//build/things.gni")')) |
| self.assertTrue(_fails_deps_check('import("//chrome/things.gni")')) |
| if __name__ == '__main__': |