Skip to content

Commit

Permalink
cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
robfrawley committed Apr 30, 2016
1 parent 65caeb7 commit e8518d9
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/Serializer.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ final public function setNormalizer(\Closure $normalizer = null)
return $this;
}

/**
* @return SerializerTypeInterface
*/
final public function getSerializer()
{
return static::$serializer;
Expand Down
36 changes: 36 additions & 0 deletions lib/SerializerInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,42 @@ interface SerializerInterface
self::TYPE_PHP,
self::TYPE_JSON,
];

/**
* @param string $type
*
* @return SerializerInterface
*/
public static function create($type = self::TYPE_AUTO);

/**
* @param mixed $data
*
* @return mixed
*/
public function serialize($data);

/**
* @param mixed $data
*
* @return mixed
*/
public function unserialize($data);

/**
* @param null|\Closure $denormalizer
*/
public function setDenormalizer(\Closure $denormalizer = null);

/**
* @param null|\Closure $normalizer
*/
public function setNormalizer(\Closure $normalizer = null);

/**
* @return SerializerTypeInterface
*/
public function getSerializer();
}

/* EOF */
10 changes: 10 additions & 0 deletions lib/Type/SerializerTypeInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@
*/
interface SerializerTypeInterface
{
/**
* @return SerializerTypeInterface
*/
public static function create();

/**
* @param mixed|null $data
* @param \Closure|null $visitor
Expand All @@ -32,6 +37,11 @@ public function serialize($data = null, \Closure $visitor = null);
* @return mixed
*/
public function unserialize($data = null, \Closure $visitor = null);

/**
* @return bool
*/
public static function supported();
}

/* EOF */
18 changes: 18 additions & 0 deletions tests/SerializerFactoryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,24 @@ public function testBasicSerializeUnserializeWithNormalizerAndDenormalizer()

$this->assertSame($denormalizer(json_decode(json_encode($normalizer($dataOriginal)))), $dataUnserialized);
}

public function testSupported()
{
$serializer = Serializer::create(Serializer::TYPE_IGBINARY)->getSerializer();
$this->assertTrue(
$serializer::supported()
);

$serializer = Serializer::create(Serializer::TYPE_JSON)->getSerializer();
$this->assertTrue(
$serializer::supported()
);

$serializer = Serializer::create(Serializer::TYPE_PHP)->getSerializer();
$this->assertTrue(
$serializer::supported()
);
}
}

/* EOF */

0 comments on commit e8518d9

Please sign in to comment.