diff test/mocknull.py @ 2532:24d3b25a9157

*** empty log message ***
author Richard Jones <richard@users.sourceforge.net>
date Sat, 03 Jul 2004 22:40:27 +0000
parents
children 79fd8537ae3b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/mocknull.py	Sat Jul 03 22:40:27 2004 +0000
@@ -0,0 +1,21 @@
+
+class MockNull:
+    def __init__(self, **kwargs):
+        for key, value in kwargs.items():
+            self.__dict__[key] = value
+
+    def __call__(self, *args, **kwargs): return MockNull()
+    def __getattr__(self, name):
+        # This allows assignments which assume all intermediate steps are Null
+        # objects if they don't exist yet.
+        #
+        # For example (with just 'client' defined):
+        #
+        # client.db.config.TRACKER_WEB = 'BASE/'
+        self.__dict__[name] = MockNull()
+        return getattr(self, name)
+
+    def __getitem__(self, key): return self
+    def __nonzero__(self): return 0
+    def __str__(self): return ''
+    def __repr__(self): return '<MockNull 0x%x>'%id(self)

Roundup Issue Tracker: http://roundup-tracker.org/