class SerializerTest

Hierarchy

  • class \Symfony\Component\Serializer\Tests\SerializerTest extends \Symfony\Component\Serializer\Tests\PHPUnit_Framework_TestCase

Expanded class hierarchy of SerializerTest

File

drupal/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php, line 21

Namespace

Symfony\Component\Serializer\Tests
View source
class SerializerTest extends \PHPUnit_Framework_TestCase {

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
   */
  public function testNormalizeNoMatch() {
    $this->serializer = new Serializer(array(
      $this
        ->getMock('Symfony\\Component\\Serializer\\Normalizer\\CustomNormalizer'),
    ));
    $this->serializer
      ->normalize(new \stdClass(), 'xml');
  }
  public function testNormalizeTraversable() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $result = $this->serializer
      ->serialize(new TraversableDummy(), 'json');
    $this
      ->assertEquals('{"foo":"foo","bar":"bar"}', $result);
  }
  public function testNormalizeGivesPriorityToInterfaceOverTraversable() {
    $this->serializer = new Serializer(array(
      new CustomNormalizer(),
    ), array(
      'json' => new JsonEncoder(),
    ));
    $result = $this->serializer
      ->serialize(new NormalizableTraversableDummy(), 'json');
    $this
      ->assertEquals('{"foo":"normalizedFoo","bar":"normalizedBar"}', $result);
  }

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
   */
  public function testDenormalizeNoMatch() {
    $this->serializer = new Serializer(array(
      $this
        ->getMock('Symfony\\Component\\Serializer\\Normalizer\\CustomNormalizer'),
    ));
    $this->serializer
      ->denormalize('foo', 'stdClass');
  }
  public function testSerialize() {
    $this->serializer = new Serializer(array(
      new GetSetMethodNormalizer(),
    ), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $result = $this->serializer
      ->serialize(Model::fromArray($data), 'json');
    $this
      ->assertEquals(json_encode($data), $result);
  }
  public function testSerializeScalar() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $result = $this->serializer
      ->serialize('foo', 'json');
    $this
      ->assertEquals('"foo"', $result);
  }
  public function testSerializeArrayOfScalars() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'foo',
      array(
        5,
        3,
      ),
    );
    $result = $this->serializer
      ->serialize($data, 'json');
    $this
      ->assertEquals(json_encode($data), $result);
  }

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
   */
  public function testSerializeNoEncoder() {
    $this->serializer = new Serializer(array(), array());
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this->serializer
      ->serialize($data, 'json');
  }

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\LogicException
   */
  public function testSerializeNoNormalizer() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this->serializer
      ->serialize(Model::fromArray($data), 'json');
  }
  public function testDeserialize() {
    $this->serializer = new Serializer(array(
      new GetSetMethodNormalizer(),
    ), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $result = $this->serializer
      ->deserialize(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json');
    $this
      ->assertEquals($data, $result
      ->toArray());
  }
  public function testDeserializeUseCache() {
    $this->serializer = new Serializer(array(
      new GetSetMethodNormalizer(),
    ), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this->serializer
      ->deserialize(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json');
    $data = array(
      'title' => 'bar',
      'numbers' => array(
        2,
        8,
      ),
    );
    $result = $this->serializer
      ->deserialize(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json');
    $this
      ->assertEquals($data, $result
      ->toArray());
  }

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\LogicException
   */
  public function testDeserializeNoNormalizer() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this->serializer
      ->deserialize(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json');
  }

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
   */
  public function testDeserializeWrongNormalizer() {
    $this->serializer = new Serializer(array(
      new CustomNormalizer(),
    ), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this->serializer
      ->deserialize(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json');
  }

  /**
   * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
   */
  public function testDeserializeNoEncoder() {
    $this->serializer = new Serializer(array(), array());
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this->serializer
      ->deserialize(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json');
  }
  public function testDeserializeSupported() {
    $this->serializer = new Serializer(array(
      new GetSetMethodNormalizer(),
    ), array());
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this
      ->assertTrue($this->serializer
      ->supportsDenormalization(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json'));
  }
  public function testDeserializeNotSupported() {
    $this->serializer = new Serializer(array(
      new GetSetMethodNormalizer(),
    ), array());
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this
      ->assertFalse($this->serializer
      ->supportsDenormalization(json_encode($data), 'stdClass', 'json'));
  }
  public function testDeserializeNotSupportedMissing() {
    $this->serializer = new Serializer(array(), array());
    $data = array(
      'title' => 'foo',
      'numbers' => array(
        5,
        3,
      ),
    );
    $this
      ->assertFalse($this->serializer
      ->supportsDenormalization(json_encode($data), '\\Symfony\\Component\\Serializer\\Tests\\Model', 'json'));
  }
  public function testEncode() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'foo',
      array(
        5,
        3,
      ),
    );
    $result = $this->serializer
      ->encode($data, 'json');
    $this
      ->assertEquals(json_encode($data), $result);
  }
  public function testDecode() {
    $this->serializer = new Serializer(array(), array(
      'json' => new JsonEncoder(),
    ));
    $data = array(
      'foo',
      array(
        5,
        3,
      ),
    );
    $result = $this->serializer
      ->decode(json_encode($data), 'json');
    $this
      ->assertEquals($data, $result);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
SerializerTest::testDecode public function
SerializerTest::testDenormalizeNoMatch public function @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
SerializerTest::testDeserialize public function
SerializerTest::testDeserializeNoEncoder public function @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
SerializerTest::testDeserializeNoNormalizer public function @expectedException \Symfony\Component\Serializer\Exception\LogicException
SerializerTest::testDeserializeNotSupported public function
SerializerTest::testDeserializeNotSupportedMissing public function
SerializerTest::testDeserializeSupported public function
SerializerTest::testDeserializeUseCache public function
SerializerTest::testDeserializeWrongNormalizer public function @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
SerializerTest::testEncode public function
SerializerTest::testNormalizeGivesPriorityToInterfaceOverTraversable public function
SerializerTest::testNormalizeNoMatch public function @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
SerializerTest::testNormalizeTraversable public function
SerializerTest::testSerialize public function
SerializerTest::testSerializeArrayOfScalars public function
SerializerTest::testSerializeNoEncoder public function @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
SerializerTest::testSerializeNoNormalizer public function @expectedException \Symfony\Component\Serializer\Exception\LogicException
SerializerTest::testSerializeScalar public function