Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Unified Diff: PRESUBMIT_test.py

Issue 2532583002: Presubmit: Warn about useless forward declarations (Closed)
Patch Set: Changed version Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « PRESUBMIT.py ('k') | PRESUBMIT_test_mocks.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: PRESUBMIT_test.py
diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py
index 9bb6d47c73b81c4775801a2172e472271e650211..acb6adc48f44824c5dadecbf4847cbfd83529440 100755
--- a/PRESUBMIT_test.py
+++ b/PRESUBMIT_test.py
@@ -1114,5 +1114,60 @@ class HardcodedGoogleHostsTest(unittest.TestCase):
self.assertEqual(0, len(warnings))
+class ForwardDeclarationTest(unittest.TestCase):
+ def testCheckHeadersOnly(self):
+ mock_input_api = MockInputApi()
+ mock_input_api.files = [
+ MockAffectedFile('somewhere/file.cc', [
+ 'class DummyClass;'
+ ])
+ ]
+ warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api,
+ MockOutputApi())
+ self.assertEqual(0, len(warnings))
+
+ def testNoNestedDeclaration(self):
+ mock_input_api = MockInputApi()
+ mock_input_api.files = [
+ MockAffectedFile('somewhere/header.h', [
+ 'class SomeClass {'
+ ' protected:'
+ ' class NotAMatch;'
+ '};'
+ ])
+ ]
+ warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api,
+ MockOutputApi())
+ self.assertEqual(0, len(warnings))
+
+ def testSubStrings(self):
+ mock_input_api = MockInputApi()
+ mock_input_api.files = [
+ MockAffectedFile('somewhere/header.h', [
+ 'class NotUsefulClass;',
+ 'struct SomeStruct;',
+ 'UsefulClass *p1;',
+ 'SomeStructPtr *p2;'
+ ])
+ ]
+ warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api,
+ MockOutputApi())
+ self.assertEqual(2, len(warnings))
+
+ def testUselessForwardDeclaration(self):
+ mock_input_api = MockInputApi()
+ mock_input_api.files = [
+ MockAffectedFile('somewhere/header.h', [
+ 'class DummyClass;',
+ 'struct DummyStruct;',
+ 'class UsefulClass;',
+ 'std::unique_ptr<UsefulClass> p;'
+ ]),
+ ]
+ warnings = PRESUBMIT._CheckUselessForwardDeclarations(mock_input_api,
+ MockOutputApi())
+ self.assertEqual(2, len(warnings))
+
+
if __name__ == '__main__':
unittest.main()
« no previous file with comments | « PRESUBMIT.py ('k') | PRESUBMIT_test_mocks.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698