diff tests/test_grep.py @ 219:8341f2494b3f

hglib tests: migrate away from (unmaintained) nose
author Mathias De Mare <mathias.de_mare@nokia.com>
date Wed, 08 Mar 2023 17:04:58 +0100
parents tests/test-grep.py@388820908580
children a2afbf236ca8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_grep.py	Wed Mar 08 17:04:58 2023 +0100
@@ -0,0 +1,64 @@
+from tests import common
+from hglib.util import b
+
+class test_grep(common.basetest):
+    def test_basic(self):
+        self.append('a', 'x\n')
+        self.append('b', 'xy\n')
+        self.client.commit(b('first'), addremove=True)
+
+        # no match
+        self.assertEquals(list(self.client.grep(b('c'))), [])
+
+        if self.client.version >= (5, 2):
+            self.assertEquals(list(self.client.grep(b('x'))),
+                              [(b('a'), b('x')), (b('b'), b('xy'))])
+            self.assertEquals(list(self.client.grep(b('x'), b('a'))),
+                              [(b('a'), b('x'))])
+
+            self.assertEquals(list(self.client.grep(b('y'))),
+                              [(b('b'), b('xy'))])
+        else:
+            self.assertEquals(list(self.client.grep(b('x'))),
+                              [(b('a'), b('0'), b('x')), (b('b'), b('0'), b('xy'))])
+            self.assertEquals(list(self.client.grep(b('x'), b('a'))),
+                              [(b('a'), b('0'), b('x'))])
+            self.assertEquals(list(self.client.grep(b('y'))),
+                              [(b('b'), b('0'), b('xy'))])
+
+    def test_options(self):
+        self.append('a', 'x\n')
+        self.append('b', 'xy\n')
+        rev, node = self.client.commit(b('first'), addremove=True)
+
+        self.assertEquals([(b('a'), b('0'), b('+'), b('x')),
+                           (b('b'), b('0'), b('+'), b('xy'))],
+                          list(self.client.grep(b('x'), all=True)))
+
+        if self.client.version >= (5, 2):
+            self.assertEquals([(b('a'),), (b('b'),)],
+                              list(self.client.grep(b('x'), fileswithmatches=True)))
+
+            self.assertEquals([(b('a'), b('1'), b('x')), (b('b'), b('1'), b('xy'))],
+                              list(self.client.grep(b('x'), line=True)))
+
+            self.assertEquals([(b('a'), b('test'), b('x')),
+                               (b('b'), b('test'), b('xy'))],
+                              list(self.client.grep(b('x'), user=True)))
+        else:
+            self.assertEquals([(b('a'), b('0')), (b('b'), b('0'))],
+                              list(self.client.grep(b('x'), fileswithmatches=True)))
+
+            self.assertEquals([(b('a'), b('0'), b('1'), b('x')),
+                               (b('b'), b('0'), b('1'), b('xy'))],
+                              list(self.client.grep(b('x'), line=True)))
+
+            self.assertEquals([(b('a'), b('0'), b('test'), b('x')),
+                               (b('b'), b('0'), b('test'), b('xy'))],
+                              list(self.client.grep(b('x'), user=True)))
+
+        self.assertEquals([(b('a'), b('0'), b('1'), b('+'), b('test')),
+                           (b('b'), b('0'), b('1'), b('+'), b('test'))],
+                          list(self.client.grep(b('x'), all=True, user=True,
+                                                line=True,
+                                                fileswithmatches=True)))