/** * Serializes the current state. * * @param CurrentState $state The current state. * @param IOutputStream $outputStream The output stream. * * @return none */ public function serialize($state, $outputStream) { $statusLeaseInfo = array('StatusLease' => array('@attributes' => array('ClientId' => $state->getClientId()))); if ($state instanceof AcquireCurrentState) { $statusLeaseInfo['StatusLease']['Acquire'] = array('Incarnation' => $state->getIncarnation(), 'Status' => $state->getStatus(), 'Expiration' => Utilities::isoDate(date_timestamp_get($state->getExpiration()))); } elseif ($state instanceof ReleaseCurrentState) { $statusLeaseInfo['StatusLease']['Release'] = array(); } $currentState = Utilities::serialize($statusLeaseInfo, 'CurrentState'); fwrite($outputStream, $currentState); }
/** * @covers WindowsAzure\Common\Internal\Utilities::serialize * @covers WindowsAzure\Common\Internal\Utilities::_arr2xml */ public function testSerializeAttribute() { // Setup $expected = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<Object field1="value1" field2="value2"/>'; $object = array('@attributes' => array('field1' => 'value1', 'field2' => 'value2')); // Test $actual = Utilities::serialize($object, 'Object'); $this->assertEquals($expected, $actual); }