Jelajahi Sumber

Revert "Add AffectedFile.Extension() in presubmit_support"

This reverts commit d447f412945173e398fa5d0639a82f6c53832a31.

Reason for revert: "AttributeError: 'str' object has no attribute 'Extension'"

Original change's description:
> Add AffectedFile.Extension() in presubmit_support
>
> Add convenience method AffectedFile.Extension() for extracting file
> extension in a standard way. Add a test for this new functionality.
> Add a similar test for AffectedFile.UnixLocalPath().
>
> Bug: None
> Change-Id: If591e751fb2e4fb5355ad0b6f93f310667849d68
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6273341
> Commit-Queue: Anton Bershanskyi <bershanskyi@gmail.com>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Reviewed-by: Gavin Mak <gavinmak@google.com>

Bug: None
Change-Id: Ic51b0942e3a3267194fb73af5e92c902b2098c4c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6279837
Auto-Submit: Gavin Mak <gavinmak@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Gavin Mak 6 bulan lalu
induk
melakukan
9f715f8017
3 mengubah file dengan 6 tambahan dan 55 penghapusan
  1. 1 1
      PRESUBMIT.py
  2. 2 16
      presubmit_support.py
  3. 3 38
      tests/presubmit_unittest.py

+ 1 - 1
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,

+ 2 - 16
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()
 

+ 3 - 38
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):