diff Lib/test/test_bytes.py @ 75291:db968ac2b82c

#14081: The sep and maxsplit parameter to str.split, bytes.split, and bytearray.split may now be passed as keyword arguments.
author Ezio Melotti <ezio.melotti@gmail.com>
date Sun, 26 Feb 2012 09:39:55 +0200
parents 75648db1b3f3
children 4ff234337e24
line wrap: on
line diff
--- a/Lib/test/test_bytes.py	Sun Feb 26 04:07:37 2012 +0100
+++ b/Lib/test/test_bytes.py	Sun Feb 26 09:39:55 2012 +0200
@@ -435,6 +435,14 @@
         self.assertEqual(b.split(b'i'), [b'm', b'ss', b'ss', b'pp', b''])
         self.assertEqual(b.split(b'ss'), [b'mi', b'i', b'ippi'])
         self.assertEqual(b.split(b'w'), [b])
+        # with keyword args
+        b = self.type2test(b'a|b|c|d')
+        self.assertEqual(b.split(sep=b'|'), [b'a', b'b', b'c', b'd'])
+        self.assertEqual(b.split(b'|', maxsplit=1), [b'a', b'b|c|d'])
+        self.assertEqual(b.split(sep=b'|', maxsplit=1), [b'a', b'b|c|d'])
+        self.assertEqual(b.split(maxsplit=1, sep=b'|'), [b'a', b'b|c|d'])
+        b = self.type2test(b'a b c d')
+        self.assertEqual(b.split(maxsplit=1), [b'a', b'b c d'])
 
     def test_split_whitespace(self):
         for b in (b'  arf  barf  ', b'arf\tbarf', b'arf\nbarf', b'arf\rbarf',
@@ -463,6 +471,14 @@
         self.assertEqual(b.rsplit(b'i'), [b'm', b'ss', b'ss', b'pp', b''])
         self.assertEqual(b.rsplit(b'ss'), [b'mi', b'i', b'ippi'])
         self.assertEqual(b.rsplit(b'w'), [b])
+        # with keyword args
+        b = self.type2test(b'a|b|c|d')
+        self.assertEqual(b.rsplit(sep=b'|'), [b'a', b'b', b'c', b'd'])
+        self.assertEqual(b.rsplit(b'|', maxsplit=1), [b'a|b|c', b'd'])
+        self.assertEqual(b.rsplit(sep=b'|', maxsplit=1), [b'a|b|c', b'd'])
+        self.assertEqual(b.rsplit(maxsplit=1, sep=b'|'), [b'a|b|c', b'd'])
+        b = self.type2test(b'a b c d')
+        self.assertEqual(b.rsplit(maxsplit=1), [b'a b c', b'd'])
 
     def test_rsplit_whitespace(self):
         for b in (b'  arf  barf  ', b'arf\tbarf', b'arf\nbarf', b'arf\rbarf',