/** * @since 0.2 * * @param DataValue $value * @param string $dataTypeId * @param GenericOptions $options * * @returns string */ public function format(DataValue $value, $dataTypeId, GenericOptions $options = null) { if ($options === null) { $options = new GenericOptions(); } $params = array('datavalue' => json_encode($this->dataValueSerializer->serialize($value)), 'datatype' => $dataTypeId, 'options' => json_encode($options->getOptions())); $result = $this->api->getRequest(new SimpleRequest('wbformatvalue', $params)); return $result['result']; }
public function testDefaultOption() { $options = array('foo' => 42, 'bar' => 4.2, 'baz' => array('o_O', false, null, '42' => 42, array())); $genericOptions = new GenericOptions($options); foreach ($options as $option => $value) { $genericOptions->defaultOption($option, 9001); $this->assertEquals(serialize($value), serialize($genericOptions->getOption($option)), 'Defaulting a set option should not affect its value'); } $defaults = array('N' => 42, 'y' => 4.2, 'a' => false, 'n' => array('42' => 42, array(''))); foreach ($defaults as $option => $value) { $genericOptions->defaultOption($option, $value); $this->assertEquals(serialize($value), serialize($genericOptions->getOption($option)), 'Defaulting a not set option should affect its value'); } }