Index: PRESUBMIT_test.py |
diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py |
index 3fff4a2f2525b338a7e03926f78b7219401dc452..394efb7ba818ae0de4b54de90bae85260ab48412 100755 |
--- a/PRESUBMIT_test.py |
+++ b/PRESUBMIT_test.py |
@@ -1323,6 +1323,69 @@ class RiskyJsTest(unittest.TestCase): |
mock_input_api, MockOutputApi()) |
self.assertEqual(0, len(warnings)) |
+class RelativeIncludesTest(unittest.TestCase): |
+ def testThirdPartyNotWebKitIgnored(self): |
+ mock_input_api = MockInputApi() |
+ mock_input_api.files = [ |
+ MockAffectedFile('third_party/test.cpp', '#include "../header.h"'), |
+ MockAffectedFile('third_party/test/test.cpp', '#include "../header.h"'), |
+ ] |
+ |
+ mock_output_api = MockOutputApi() |
+ |
+ errors = PRESUBMIT._CheckForRelativeIncludes( |
+ mock_input_api, mock_output_api) |
+ self.assertEqual(0, len(errors)) |
+ |
+ def testNonCppFileIgnored(self): |
+ mock_input_api = MockInputApi() |
+ mock_input_api.files = [ |
+ MockAffectedFile('test.py', '#include "../header.h"'), |
+ ] |
+ |
+ mock_output_api = MockOutputApi() |
+ |
+ errors = PRESUBMIT._CheckForRelativeIncludes( |
+ mock_input_api, mock_output_api) |
+ self.assertEqual(0, len(errors)) |
+ |
+ def testInnocuousChangesAllowed(self): |
+ mock_input_api = MockInputApi() |
+ mock_input_api.files = [ |
+ MockAffectedFile('test.cpp', '#include "header.h"'), |
+ MockAffectedFile('test2.cpp', '../'), |
+ ] |
+ |
+ mock_output_api = MockOutputApi() |
+ |
+ errors = PRESUBMIT._CheckForRelativeIncludes( |
+ mock_input_api, mock_output_api) |
+ self.assertEqual(0, len(errors)) |
+ |
+ def testRelativeIncludeNonWebKitProducesError(self): |
+ mock_input_api = MockInputApi() |
+ mock_input_api.files = [ |
+ MockAffectedFile('test.cpp', ['#include "../header.h"']), |
+ ] |
+ |
+ mock_output_api = MockOutputApi() |
+ |
+ errors = PRESUBMIT._CheckForRelativeIncludes( |
+ mock_input_api, mock_output_api) |
+ self.assertEqual(1, len(errors)) |
+ |
+ def testRelativeIncludeWebKitProducesError(self): |
+ mock_input_api = MockInputApi() |
+ mock_input_api.files = [ |
+ MockAffectedFile('third_party/WebKit/test.cpp', |
+ ['#include "../header.h']), |
+ ] |
+ |
+ mock_output_api = MockOutputApi() |
+ |
+ errors = PRESUBMIT._CheckForRelativeIncludes( |
+ mock_input_api, mock_output_api) |
+ self.assertEqual(1, len(errors)) |
if __name__ == '__main__': |
unittest.main() |