def test_value(self): """test getter/setter for the value attribute""" value = wraptext("bar") node = Parameter(wraptext("foo"), value) self.assertIs(value, node.value) node.value = "héhehé" self.assertWikicodeEqual(wraptext("héhehé"), node.value)
def test_value(self): """test getter/setter for the value attribute""" value = wraptext("bar") node = Parameter(wraptext("foo"), value) self.assertIs(value, node.value) node.value = "héhehé" self.assertWikicodeEqual(wraptext("héhehé"), node.value)
def set(self, key, value, showkey=True): # Check for uniqueness. # Wikicode is not hashable, so we instead use the stringified version # as the key and include the Wikicode <parameter name> within the object. skey = str(key) if not self.is_supported(skey): raise ValueError("Not supported: parameter %s" % (skey, )) if skey not in self._parameters_map: o = Parameter(key, value, showkey) self._parameters.append(o) # Needed for consistency - allow future lookups of this parameter. self._parameters_map[skey] = o else: # Overwrite existing parameter. o = self._parameters_map[skey] # Don't allow changing parameter names - creates a consistency problem. o.value = value o.showkey = showkey