| 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()
|
|
|