def getProperties(self): return IProperties(self)
def render(self, value): props = IProperties(self) return props.render(value)
def hasProperty(self, propname): props = IProperties(self) return props.hasProperty(propname)
def getProperty(self, propname, default=None): props = IProperties(self) return props.getProperty(propname, default)
return ds class FakeBuild(PropertiesMixin): def __init__(self, properties): self.sources = {} properties.build = self self.properties = properties def getSourceStamp(self, codebase): if codebase in self.sources: return self.sources[codebase] return None components.registerAdapter(lambda build: IProperties(build.properties), FakeBuild, IProperties) class TestPropertyMap(unittest.TestCase): def setUp(self): self.fp = FakeProperties( prop_str='a-string', prop_none=None, prop_list=['a', 'b'], prop_zero=0, prop_one=1, prop_false=False, prop_true=True, prop_empty='', )
if codebase in self.sources: return self.sources[codebase] return None class DeferredRenderable: implements (IRenderable) def __init__(self): self.d = defer.Deferred() def getRenderingFor(self, build): return self.d def callback(self, value): self.d.callback(value) components.registerAdapter( lambda build : IProperties(build.properties), FakeBuild, IProperties) class TestPropertyMap(unittest.TestCase): """ Test the behavior of PropertyMap, using the external interace provided by WithProperties. """ def setUp(self): self.props = Properties( prop_str='a-string', prop_none=None, prop_list=['a', 'b'], prop_zero=0, prop_one=1,
def setProperty(self, propname, value, source, runtime=None): props = IProperties(self) if runtime is None: runtime = self.set_runtime_properties props.setProperty(propname, value, source, runtime=runtime)