Index: pysyck/trunk/tests/test_parser.py
===================================================================
--- pysyck/trunk/tests/test_parser.py	(revision 23)
+++ pysyck/trunk/tests/test_parser.py	(revision 123)
@@ -4,5 +4,5 @@
 import _syck
 
-import StringIO, gc
+import StringIO, gc, sys
 
 EXAMPLE = """
@@ -174,4 +174,11 @@
 """
 
+LEAKS = """
+- mere scalar
+- [ sequence, may, leak, too]
+- {"it's": mapping, with: many, potential: leaks}
+- {sequence: [], mapping: {}}
+"""
+
 class TestAttributes(unittest.TestCase):
 
@@ -372,2 +379,24 @@
         self.assert_(node.value[0] is node.value[1])
 
+class TestLeaks(unittest.TestCase):
+
+    def testLeaks(self):
+        parser = _syck.Parser(LEAKS)
+        node = parser.parse()
+        dummy = []
+        self.checkLeaks(node, dummy)
+
+    def checkLeaks(self, node, dummy):
+        self.assertEqual(sys.getrefcount(node), sys.getrefcount(dummy))
+        self.assertEqual(sys.getrefcount(node.value), 2)
+        dummy = []
+        container = [dummy]
+        if isinstance(node, _syck.Seq):
+            for item in node.value:
+                self.checkLeaks(item, dummy)
+        elif isinstance(node, _syck.Map):
+            for key in node.value:
+                self.checkLeaks(key, dummy)
+                value = node.value[key]
+                self.checkLeaks(value, dummy)
+
