diff --git a/PRESUBMIT.py b/PRESUBMIT.py index ad7cb3ae7..103b6e68c 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -150,7 +150,7 @@ def CheckCIPDManifest(input_api, output_api): tests = [] for path in affected_manifests: path = path.AbsoluteLocalPath() - if path.Extension() == '.txt': + if path.endswith('.txt'): tests.append( input_api.canned_checks.CheckCIPDManifest(input_api, output_api, diff --git a/presubmit_support.py b/presubmit_support.py index 68b34d567..b5d10704e 100755 --- a/presubmit_support.py +++ b/presubmit_support.py @@ -1041,10 +1041,10 @@ class AffectedFile(object): self._path = path self._action = action self._local_root = repository_root - self._diff_cache = diff_cache + self._is_directory = None self._cached_changed_contents = None self._cached_new_contents = None - self._extension = None + self._diff_cache = diff_cache self._is_testable_file = None logging.debug('%s(%s)', self.__class__.__name__, self._path) @@ -1161,20 +1161,6 @@ class AffectedFile(object): self._cached_changed_contents = result return self._cached_changed_contents[:] - def Extension(self): - """Returns the file extension as a string. - - File extension is the portion of file name after the last dot, including the dot. - If file name has no dot (like 'OWNERS'), then returns an empty string ''. - If file has multiple extensions (like 'archive.tar.gz'), then the last - extension is returned (like '.gz') - This method is equivalent to NodeJS node:path method path.extname() - and Python3 pathlib PurePath.suffix() and os.path.splitext() - """ - if self._extension is None: - self._extension = os.path.splitext(self._path)[1] - return self._extension - def __str__(self): return self.LocalPath() diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py index ffe9d0a53..03b534753 100755 --- a/tests/presubmit_unittest.py +++ b/tests/presubmit_unittest.py @@ -1444,8 +1444,9 @@ class InputApiUnittest(PresubmitTestsBase): self.assertEqual(results[i].LocalPath(), presubmit.normpath(item[1][i])) # Same number of expected results. - self.assertEqual(sorted([f.UnixLocalPath() for f in results]), - sorted(item[1])) + self.assertEqual( + sorted([f.LocalPath().replace(os.sep, '/') for f in results]), + sorted(item[1])) def testDefaultOverrides(self): input_api = presubmit.InputApi(self.fake_change, './PRESUBMIT.py', @@ -1791,42 +1792,6 @@ class AffectedFileUnittest(PresubmitTestsBase): self.assertEqual(2, len(output)) self.assertEqual(files[:2], output[:2]) - def testGetUnixLocalPath(self): - # If current platform already uses Unix-style paths, - # there is nothing to test - if os.path.sep == '/': - return - - # If path separator is not forward slash, then we are on Windows and - # which uses backward slash - self.assertEqual('\\', os.path.sep) - - cases = [('foo/blat.txt', 'foo/blat.txt'), - ('foo\\blat.txt', 'foo/blat.txt'), - ('C:\\development\\src\\chrome\\VERSION', - 'C:/development/src/chrome/VERSION')] - for path, expectedUnixLocalPath in cases: - unixLocalPath = presubmit.GitAffectedFile(path, 'M', - self.fake_root_dir, - None).UnixLocalPath() - self.assertEqual(expectedUnixLocalPath, unixLocalPath) - - def testGetExtension(self): - cases = [('foo/blat.txt', '.txt'), ('net/features.gni', '.gni'), - ('archive.tar.gz', '.gz'), ('sub/archive.tar.gz', '.gz'), - ('.hidden', ''), ('sub/.hidden', ''), ('OWNERS', '')] - - # If current platform uses Windows-style paths, check them too - if os.path.sep != '/': - cases.append(('foo\\blat.txt', '.txt')) - cases.append(('C:\\development\\src\\chrome\\VERSION', '')) - cases.append(('C:\\development\\src\\.hidden', '')) - - for path, expectedExtension in cases: - extension = presubmit.GitAffectedFile(path, 'M', self.fake_root_dir, - None).Extension() - self.assertEqual(expectedExtension, extension) - class ChangeUnittest(PresubmitTestsBase):