_adapter = new Zend_Serializer_Adapter_Wddx();
}
public function tearDown()
{
$this->_adapter = null;
}
public function testSerializeString()
{
$value = 'test';
$expected = ''
. 'test';
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testSerializeStringWithComment()
{
$value = 'test';
$expected = ''
. 'test';
$data = $this->_adapter->serialize($value, array('comment' => 'a test comment'));
$this->assertEquals($expected, $data);
}
public function testSerializeFalse()
{
$value = false;
$expected = ''
. '';
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testSerializeTrue()
{
$value = true;
$expected = ''
. '';
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testSerializeNull()
{
$value = null;
$expected = ''
. '';
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testSerializeNumeric()
{
$value = 100;
$expected = ''
. '100';
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testSerializeObject()
{
$value = new stdClass();
$value->test = "test";
$expected = ''
. ''
. 'stdClass'
. 'test'
. '';
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeString()
{
$value = ''
. 'test';
$expected = 'test';
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeFalse()
{
$value = ''
. '';
$expected = false;
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeTrue()
{
$value = ''
. '';
$expected = true;
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeNull1()
{
$value = ''
. '';
$expected = null;
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
/**
* test to unserialize a valid null value by an valid wddx
* but with some differenzes to the null cenerated by php
* -> the invalid check have to success for all valid wddx null
*/
public function testUnserializeNull2()
{
$value = '' . "\n"
. '';
$expected = null;
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeNumeric()
{
$value = ''
. '100';
$expected = 100;
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeObject()
{
$value = ''
. ''
. 'stdClass'
. 'test'
. '';
$expected = new stdClass();
$expected->test = 'test';
$data = $this->_adapter->unserialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserialzeInvalid()
{
$value = 'not a serialized string';
$this->setExpectedException('Zend_Serializer_Exception');
$this->_adapter->unserialize($value);
}
/**
* ZF-8911 and PHP-Bug #46496
* This bug effects php < 5.2.7
*
* No workaround implemented !!! - This test failes on php < 5.2.7
*/
public function testSerializeStringUtf8() {
$value = "\xc2\xbf"; // Ξ
$expected = ''
. "\xc2\xbf";
$data = $this->_adapter->serialize($value);
$this->assertEquals($expected, $data);
}
public function testUnserializeInvalidXml()
{
if (!class_exists('SimpleXMLElement', false)) {
$this->markTestSkipped('Skipped by missing ext/simplexml');
}
$value = 'not a serialized string';
$this->setExpectedException(
'Zend_Serializer_Exception',
'DOMDocument::loadXML(): Start tag expected'
);
$this->_adapter->unserialize($value);
}
public function testShouldThrowExceptionIfXmlToUnserializeFromContainsADoctype()
{
$value = ''
. ''
. 'test';
$this->setExpectedException("Zend_Serializer_Exception");
$data = $this->_adapter->unserialize($value);
}
}
/**
* @category Zend
* @package Zend_Serializer
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Serializer_Adapter_WddxSkipTest extends PHPUnit_Framework_TestCase
{
public $message = null;
public function setUp()
{
$message = 'Skipped Zend_Serializer_Adapter_WddxTest';
if ($this->message) {
$message.= ': ' . $this->message;
}
$this->markTestSkipped($message);
}
public function testEmpty()
{
// this is here only so we have at least one test
}
}