[pygobject] [API add] Gtk overrides: Add TreePath.__len__()



commit 0ddfecf3bf0a5d7893cd02cff41503d810ef6ce8
Author: Martin Pitt <martinpitt gnome org>
Date:   Wed Jul 4 08:46:30 2012 +0200

    [API add] Gtk overrides: Add TreePath.__len__()
    
    Use the path depth as length of a Gtk.TreePath object.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=679199

 gi/overrides/Gtk.py     |    3 +++
 tests/test_overrides.py |    4 ++++
 2 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py
index 08b3a4b..49c2747 100644
--- a/gi/overrides/Gtk.py
+++ b/gi/overrides/Gtk.py
@@ -1229,6 +1229,9 @@ class TreePath(Gtk.TreePath):
     def __iter__(self):
         return (int(part) for part in str(self).split(':'))
 
+    def __len__(self):
+        return self.get_depth()
+
 TreePath = override(TreePath)
 __all__.append('TreePath')
 
diff --git a/tests/test_overrides.py b/tests/test_overrides.py
index f6685b2..73b17a5 100644
--- a/tests/test_overrides.py
+++ b/tests/test_overrides.py
@@ -1369,18 +1369,22 @@ class TestGtk(unittest.TestCase):
         p2 = Gtk.TreePath.new_first()
         self.assertEqual(p1, p2)
         self.assertEqual(str(p1), '0')
+        self.assertEqual(len(p1), 1)
         p1 = Gtk.TreePath(2)
         p2 = Gtk.TreePath.new_from_string('2')
         self.assertEqual(p1, p2)
         self.assertEqual(str(p1), '2')
+        self.assertEqual(len(p1), 1)
         p1 = Gtk.TreePath('1:2:3')
         p2 = Gtk.TreePath.new_from_string('1:2:3')
         self.assertEqual(p1, p2)
         self.assertEqual(str(p1), '1:2:3')
+        self.assertEqual(len(p1), 3)
         p1 = Gtk.TreePath((1, 2, 3))
         p2 = Gtk.TreePath.new_from_string('1:2:3')
         self.assertEqual(p1, p2)
         self.assertEqual(str(p1), '1:2:3')
+        self.assertEqual(len(p1), 3)
         self.assertNotEqual(p1, None)
         self.assertTrue(p1 > None)
         self.assertTrue(p1 >= None)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]