| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python | 
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be | 
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. | 
| 5 | 5 | 
| 6 """Unit tests for presubmit_support.py and presubmit_canned_checks.py.""" | 6 """Unit tests for presubmit_support.py and presubmit_canned_checks.py.""" | 
| 7 | 7 | 
| 8 # pylint: disable=E1101,E1103 | 8 # pylint: disable=E1101,E1103 | 
| 9 | 9 | 
| 10 import functools | 10 import functools | 
| (...skipping 2069 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2080         'DO NOTSUBMIT', None, 'DO NOT ' + 'SUBMIT', None, | 2080         'DO NOTSUBMIT', None, 'DO NOT ' + 'SUBMIT', None, | 
| 2081         presubmit.OutputApi.PresubmitError) | 2081         presubmit.OutputApi.PresubmitError) | 
| 2082 | 2082 | 
| 2083   def testCheckChangeHasNoStrayWhitespace(self): | 2083   def testCheckChangeHasNoStrayWhitespace(self): | 
| 2084     self.ContentTest( | 2084     self.ContentTest( | 
| 2085         lambda x,y,z: | 2085         lambda x,y,z: | 
| 2086             presubmit_canned_checks.CheckChangeHasNoStrayWhitespace(x, y), | 2086             presubmit_canned_checks.CheckChangeHasNoStrayWhitespace(x, y), | 
| 2087         'Foo', None, 'Foo ', None, | 2087         'Foo', None, 'Foo ', None, | 
| 2088         presubmit.OutputApi.PresubmitPromptWarning) | 2088         presubmit.OutputApi.PresubmitPromptWarning) | 
| 2089 | 2089 | 
| 2090   def testCheckSingletonInHeaders(self): |  | 
| 2091     change1 = presubmit.Change( |  | 
| 2092         'foo1', 'foo1\n', self.fake_root_dir, None, 0, 0, None) |  | 
| 2093     input_api1 = self.MockInputApi(change1, False) |  | 
| 2094     affected_file1 = self.mox.CreateMock(presubmit.SvnAffectedFile) |  | 
| 2095     affected_file2 = self.mox.CreateMock(presubmit.SvnAffectedFile) |  | 
| 2096     input_api1.AffectedSourceFiles(None).AndReturn( |  | 
| 2097         [affected_file1, affected_file2]) |  | 
| 2098     affected_file1.LocalPath().AndReturn('foo.h') |  | 
| 2099     input_api1.ReadFile(affected_file1).AndReturn( |  | 
| 2100         '// Comment mentioning Singleton<Foo>.\n' + |  | 
| 2101         'friend class Singleton<Foo>;') |  | 
| 2102     for _ in range(4): |  | 
| 2103       affected_file2.LocalPath().AndReturn('foo.cc') |  | 
| 2104 |  | 
| 2105     change2 = presubmit.Change( |  | 
| 2106         'foo2', 'foo2\n', self.fake_root_dir, None, 0, 0, None) |  | 
| 2107     input_api2 = self.MockInputApi(change2, False) |  | 
| 2108 |  | 
| 2109     affected_file3 = self.mox.CreateMock(presubmit.SvnAffectedFile) |  | 
| 2110     input_api2.AffectedSourceFiles(None).AndReturn([affected_file3]) |  | 
| 2111     affected_file3.LocalPath().AndReturn('foo.h') |  | 
| 2112     input_api2.ReadFile(affected_file3).AndReturn( |  | 
| 2113         'Foo* foo = Singleton<Foo>::get();') |  | 
| 2114 |  | 
| 2115     self.mox.ReplayAll() |  | 
| 2116 |  | 
| 2117     results1 = presubmit_canned_checks.CheckSingletonInHeaders( |  | 
| 2118         input_api1, presubmit.OutputApi) |  | 
| 2119     self.assertEquals(results1, []) |  | 
| 2120     results2 = presubmit_canned_checks.CheckSingletonInHeaders( |  | 
| 2121         input_api2, presubmit.OutputApi) |  | 
| 2122     self.assertEquals(len(results2), 1) |  | 
| 2123     self.assertEquals(results2[0].__class__, presubmit.OutputApi.PresubmitError) |  | 
| 2124 |  | 
| 2125   def testCheckChangeHasOnlyOneEol(self): | 2090   def testCheckChangeHasOnlyOneEol(self): | 
| 2126     self.ReadFileTest(presubmit_canned_checks.CheckChangeHasOnlyOneEol, | 2091     self.ReadFileTest(presubmit_canned_checks.CheckChangeHasOnlyOneEol, | 
| 2127                       "Hey!\nHo!\n", "Hey!\nHo!\n\n", | 2092                       "Hey!\nHo!\n", "Hey!\nHo!\n\n", | 
| 2128                       presubmit.OutputApi.PresubmitPromptWarning) | 2093                       presubmit.OutputApi.PresubmitPromptWarning) | 
| 2129 | 2094 | 
| 2130   def testCheckChangeHasNoCR(self): | 2095   def testCheckChangeHasNoCR(self): | 
| 2131     self.ReadFileTest(presubmit_canned_checks.CheckChangeHasNoCR, | 2096     self.ReadFileTest(presubmit_canned_checks.CheckChangeHasNoCR, | 
| 2132                       "Hey!\nHo!\n", "Hey!\r\nHo!\r\n", | 2097                       "Hey!\nHo!\n", "Hey!\r\nHo!\r\n", | 
| 2133                       presubmit.OutputApi.PresubmitPromptWarning) | 2098                       presubmit.OutputApi.PresubmitPromptWarning) | 
| 2134 | 2099 | 
| (...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2882     affected_file.ChangedContents().AndReturn([ | 2847     affected_file.ChangedContents().AndReturn([ | 
| 2883         (0, 'Hey!\n'), | 2848         (0, 'Hey!\n'), | 
| 2884         (1, 'Ho!\n'), | 2849         (1, 'Ho!\n'), | 
| 2885         (2, 'Hey!\n'), | 2850         (2, 'Hey!\n'), | 
| 2886         (3, 'Ho!\n'), | 2851         (3, 'Ho!\n'), | 
| 2887         (4, '\n')]) | 2852         (4, '\n')]) | 
| 2888     for _ in range(5): | 2853     for _ in range(5): | 
| 2889       affected_file.LocalPath().AndReturn('hello.py') | 2854       affected_file.LocalPath().AndReturn('hello.py') | 
| 2890     input_api.AffectedSourceFiles(mox.IgnoreArg()).AndReturn([affected_file]) | 2855     input_api.AffectedSourceFiles(mox.IgnoreArg()).AndReturn([affected_file]) | 
| 2891     input_api.ReadFile(affected_file).AndReturn('Hey!\nHo!\nHey!\nHo!\n\n') | 2856     input_api.ReadFile(affected_file).AndReturn('Hey!\nHo!\nHey!\nHo!\n\n') | 
| 2892     input_api.AffectedSourceFiles(mox.IgnoreArg()).AndReturn([affected_file]) |  | 
| 2893     for _ in range(4): |  | 
| 2894       affected_file.LocalPath().AndReturn('hello.py') |  | 
| 2895 | 2857 | 
| 2896     self.mox.ReplayAll() | 2858     self.mox.ReplayAll() | 
| 2897     results = presubmit_canned_checks.PanProjectChecks( | 2859     results = presubmit_canned_checks.PanProjectChecks( | 
| 2898         input_api, | 2860         input_api, | 
| 2899         presubmit.OutputApi, | 2861         presubmit.OutputApi, | 
| 2900         excluded_paths=None, | 2862         excluded_paths=None, | 
| 2901         text_files=None, | 2863         text_files=None, | 
| 2902         license_header=None, | 2864         license_header=None, | 
| 2903         project_name=None, | 2865         project_name=None, | 
| 2904         owners_check=False) | 2866         owners_check=False) | 
| 2905     self.assertEqual(1, len(results)) | 2867     self.assertEqual(1, len(results)) | 
| 2906     self.assertEqual( | 2868     self.assertEqual( | 
| 2907         'Found line ending with white spaces in:', results[0]._message) | 2869         'Found line ending with white spaces in:', results[0]._message) | 
| 2908     self.checkstdout('') | 2870     self.checkstdout('') | 
| 2909 | 2871 | 
| 2910 | 2872 | 
| 2911 if __name__ == '__main__': | 2873 if __name__ == '__main__': | 
| 2912   import unittest | 2874   import unittest | 
| 2913   unittest.main() | 2875   unittest.main() | 
| OLD | NEW | 
|---|