| Index: tests/presubmit_unittest.py
|
| diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py
|
| index 6559d572d5ecb78eae6814c15148464453f16d0b..29f9a931007a3846d9fbb61991a0525f07b3db34 100755
|
| --- a/tests/presubmit_unittest.py
|
| +++ b/tests/presubmit_unittest.py
|
| @@ -1493,6 +1493,7 @@ class CannedChecksUnittest(PresubmitTestsBase):
|
| 'CheckLicense',
|
| 'CheckOwners',
|
| 'CheckRietveldTryJobExecution',
|
| + 'CheckSingletonInHeaders',
|
| 'CheckSvnModifiedDirectories',
|
| 'CheckSvnForCommonMimeTypes', 'CheckSvnProperty',
|
| 'RunPythonUnitTests', 'RunPylint',
|
| @@ -1697,6 +1698,41 @@ class CannedChecksUnittest(PresubmitTestsBase):
|
| 'Foo', None, 'Foo ', None,
|
| presubmit.OutputApi.PresubmitPromptWarning)
|
|
|
| + def testCheckSingletonInHeaders(self):
|
| + change1 = presubmit.Change(
|
| + 'foo1', 'foo1\n', self.fake_root_dir, None, 0, 0, None)
|
| + input_api1 = self.MockInputApi(change1, False)
|
| + affected_file1 = self.mox.CreateMock(presubmit.SvnAffectedFile)
|
| + affected_file2 = self.mox.CreateMock(presubmit.SvnAffectedFile)
|
| + input_api1.AffectedSourceFiles(None).AndReturn(
|
| + [affected_file1, affected_file2])
|
| + affected_file1.LocalPath().AndReturn('foo.h')
|
| + input_api1.ReadFile(affected_file1).AndReturn(
|
| + '// Comment mentioning Singleton<Foo>.\n' +
|
| + 'friend class Singleton<Foo>;')
|
| + for _ in range(4):
|
| + affected_file2.LocalPath().AndReturn('foo.cc')
|
| +
|
| + change2 = presubmit.Change(
|
| + 'foo2', 'foo2\n', self.fake_root_dir, None, 0, 0, None)
|
| + input_api2 = self.MockInputApi(change2, False)
|
| +
|
| + affected_file3 = self.mox.CreateMock(presubmit.SvnAffectedFile)
|
| + input_api2.AffectedSourceFiles(None).AndReturn([affected_file3])
|
| + affected_file3.LocalPath().AndReturn('foo.h')
|
| + input_api2.ReadFile(affected_file3).AndReturn(
|
| + 'Foo* foo = Singleton<Foo>::get();')
|
| +
|
| + self.mox.ReplayAll()
|
| +
|
| + results1 = presubmit_canned_checks.CheckSingletonInHeaders(
|
| + input_api1, presubmit.OutputApi)
|
| + self.assertEquals(results1, [])
|
| + results2 = presubmit_canned_checks.CheckSingletonInHeaders(
|
| + input_api2, presubmit.OutputApi)
|
| + self.assertEquals(len(results2), 1)
|
| + self.assertEquals(results2[0].__class__, presubmit.OutputApi.PresubmitError)
|
| +
|
| def testCheckChangeHasOnlyOneEol(self):
|
| self.ReadFileTest(presubmit_canned_checks.CheckChangeHasOnlyOneEol,
|
| "Hey!\nHo!\n", "Hey!\nHo!\n\n",
|
|
|