Mercurial > hg > isophonics-drupal-site
view core/tests/Drupal/Tests/Component/Serialization/YamlSymfonyTest.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children | 1fec387a4317 |
line wrap: on
line source
<?php namespace Drupal\Tests\Component\Serialization; use Drupal\Component\Serialization\Exception\InvalidDataTypeException; use Drupal\Component\Serialization\YamlSymfony; /** * Tests the YamlSymfony serialization implementation. * * @group Drupal * @group Serialization * @coversDefaultClass \Drupal\Component\Serialization\YamlSymfony */ class YamlSymfonyTest extends YamlTestBase { /** * Tests encoding and decoding basic data structures. * * @covers ::encode * @covers ::decode * @dataProvider providerEncodeDecodeTests */ public function testEncodeDecode($data) { $this->assertEquals($data, YamlSymfony::decode(YamlSymfony::encode($data))); } /** * Tests decoding YAML node anchors. * * @covers ::decode * @dataProvider providerDecodeTests */ public function testDecode($string, $data) { $this->assertEquals($data, YamlSymfony::decode($string)); } /** * Tests our encode settings. * * @covers ::encode */ public function testEncode() { $this->assertEquals('foo: bar: \'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sapien ex, venenatis vitae nisi eu, posuere luctus dolor. Nullam convallis\' ', YamlSymfony::encode(['foo' => ['bar' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sapien ex, venenatis vitae nisi eu, posuere luctus dolor. Nullam convallis']])); } /** * @covers ::getFileExtension */ public function testGetFileExtension() { $this->assertEquals('yml', YamlSymfony::getFileExtension()); } /** * Tests that invalid YAML throws an exception. * * @covers ::decode */ public function testError() { $this->setExpectedException(InvalidDataTypeException::class); YamlSymfony::decode('foo: [ads'); } /** * Ensures that php object support is disabled. * * @covers ::encode */ public function testObjectSupportDisabled() { $this->setExpectedException(InvalidDataTypeException::class, 'Object support when dumping a YAML file has been disabled.'); $object = new \stdClass(); $object->foo = 'bar'; YamlSymfony::encode([$object]); } }