Mercurial > p > roundup > code
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)
