Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
web
/
vhosts
/
www.humitest.fr
/
htdocs
/
vendor
/
symfony
/
var-exporter
/
Tests
/
/srv/data/web/vhosts/www.humitest.fr/htdocs/vendor/symfony/var-exporter/Tests/InstantiatorTest.php
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\VarExporter\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\VarExporter\Instantiator; class InstantiatorTest extends TestCase { /** * @expectedException \Symfony\Component\VarExporter\Exception\ClassNotFoundException * @expectedExceptionMessage Class "SomeNotExistingClass" not found. */ public function testNotFoundClass() { Instantiator::instantiate('SomeNotExistingClass'); } /** * @dataProvider provideFailingInstantiation * @expectedException \Symfony\Component\VarExporter\Exception\NotInstantiableTypeException * @expectedExceptionMessageRegexp Type ".*" is not instantiable. */ public function testFailingInstantiation(string $class) { Instantiator::instantiate($class); } public function provideFailingInstantiation() { yield ['ReflectionClass']; yield ['SplHeap']; yield ['Throwable']; yield ['Closure']; yield ['SplFileInfo']; } public function testInstantiate() { $this->assertEquals((object) ['p' => 123], Instantiator::instantiate('stdClass', ['p' => 123])); $this->assertEquals((object) ['p' => 123], Instantiator::instantiate('STDcLASS', ['p' => 123])); $this->assertEquals(new \ArrayObject([123]), Instantiator::instantiate(\ArrayObject::class, ["\0" => [[123]]])); $expected = [ "\0".__NAMESPACE__."\Bar\0priv" => 123, "\0".__NAMESPACE__."\Foo\0priv" => 234, ]; $this->assertSame($expected, (array) Instantiator::instantiate(Bar::class, ['priv' => 123], [Foo::class => ['priv' => 234]])); $e = Instantiator::instantiate('Exception', ['foo' => 123, 'trace' => [234]]); $this->assertSame(123, $e->foo); $this->assertSame([234], $e->getTrace()); } } class Foo { private $priv; } class Bar extends Foo { private $priv; }