Title: [283132] trunk/Tools
Revision
283132
Author
[email protected]
Date
2021-09-27 14:05:17 -0700 (Mon, 27 Sep 2021)

Log Message

Port._natural_sort_key should sort a01 before a001
https://bugs.webkit.org/show_bug.cgi?id=230764

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/port/base.py:
(Port._natural_sort_key):
* Scripts/webkitpy/port/base_unittest.py:
(NaturalCompareTest.test_natural_compare):
(KeyCompareTest.test_test_key):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (283131 => 283132)


--- trunk/Tools/ChangeLog	2021-09-27 20:18:19 UTC (rev 283131)
+++ trunk/Tools/ChangeLog	2021-09-27 21:05:17 UTC (rev 283132)
@@ -1,3 +1,16 @@
+2021-09-27  Sam Sneddon  <[email protected]>
+
+        Port._natural_sort_key should sort a01 before a001
+        https://bugs.webkit.org/show_bug.cgi?id=230764
+
+        Reviewed by Jonathan Bedard.
+
+        * Scripts/webkitpy/port/base.py:
+        (Port._natural_sort_key):
+        * Scripts/webkitpy/port/base_unittest.py:
+        (NaturalCompareTest.test_natural_compare):
+        (KeyCompareTest.test_test_key):
+
 2021-09-27  Commit Queue  <[email protected]>
 
         Unreviewed, reverting r283102, r283103 and r283104.

Modified: trunk/Tools/Scripts/webkitpy/port/base.py (283131 => 283132)


--- trunk/Tools/Scripts/webkitpy/port/base.py	2021-09-27 20:18:19 UTC (rev 283131)
+++ trunk/Tools/Scripts/webkitpy/port/base.py	2021-09-27 21:05:17 UTC (rev 283132)
@@ -544,7 +544,7 @@
             except ValueError:
                 return val
 
-        return [tryint(chunk) for chunk in re.split(r'(\d+)', string_to_split)]
+        return [(tryint(chunk), chunk) for chunk in re.split(r'(\d+)', string_to_split)]
 
     def test_dirs(self):
         """Returns the list of top-level test directories."""

Modified: trunk/Tools/Scripts/webkitpy/port/base_unittest.py (283131 => 283132)


--- trunk/Tools/Scripts/webkitpy/port/base_unittest.py	2021-09-27 20:18:19 UTC (rev 283131)
+++ trunk/Tools/Scripts/webkitpy/port/base_unittest.py	2021-09-27 21:05:17 UTC (rev 283132)
@@ -357,6 +357,9 @@
         self.assert_cmp('a', 'ab', -1)
         self.assert_cmp('', '', 0)
         self.assert_cmp('', 'ab', -1)
+        self.assert_cmp('01', '1', -1)
+        self.assert_cmp('001', '1', -1)
+        self.assert_cmp('001', '01', -1)
         self.assert_cmp('1', '2', -1)
         self.assert_cmp('2', '1', 1)
         self.assert_cmp('1', '10', -1)
@@ -379,9 +382,15 @@
     def test_test_key(self):
         self.assert_cmp('/a', '/a', 0)
         self.assert_cmp('/a', '/b', -1)
+        self.assert_cmp('/a', '/a2', -1)
         self.assert_cmp('/a2', '/a10', -1)
         self.assert_cmp('/a2/foo', '/a10/foo', -1)
         self.assert_cmp('/a/foo11', '/a/foo2', 1)
+        self.assert_cmp('/a/foo1', '/a/foo01', 1)
+        self.assert_cmp('/a/foo01', '/a/foo001', 1)
         self.assert_cmp('/ab', '/a/a/b', -1)
         self.assert_cmp('/a/a/b', '/ab', 1)
         self.assert_cmp('/foo-bar/baz', '/foo/baz', -1)
+        self.assert_cmp('/foo!bar/baz', '/foo/bar/baz', -1)
+        self.assert_cmp('/foo-bar/baz', '/foo/bar/baz', -1)
+        self.assert_cmp('/foo_bar/baz', '/foo/bar/baz', 1)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to