8000 Reinitialize globBrace after unserialization · symfony/symfony@d953477 · GitHub
[go: up one dir, main page]

Skip to content

Commit d953477

Browse files
committed
Reinitialize globBrace after unserialization
1 parent 091265b commit d953477

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/Symfony/Component/Config/Resource/GlobResource.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,14 @@ public function __sleep(): array
9494
return ['prefix', 'pattern', 'recursive', 'hash', 'forExclusion', 'excludedPrefixes'];
9595
}
9696

97+
/**
98+
* @internal
99+
*/
100+
public function __wakeup(): void
101+
{
102+
$this->globBrace = \defined('GLOB_BRACE') ? \GLOB_BRACE : 0;
103+
}
104+
97105
/**
98106
* @return \Traversable
99107
*/

src/Symfony/Component/Config/Tests/Resource/GlobResourceTest.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,17 @@ public function testUnbalancedBraceFallback()
194194

195195
$this->assertSame([], array_keys(iterator_to_array($resource)));
196196
}
197+
198+
public function testSerializeUnserialize()
199+
{
200+
$dir = \dirname(__DIR__).\DIRECTORY_SEPARATOR.'Fixtures';
201+
$resource = new GlobResource($dir, '/Resource', true);
202+
203+
$newResource = unserialize(serialize($resource));
204+
205+
$p = new \ReflectionProperty($resource, 'globBrace');
206+
$p->setAccessible(true);
207+
208+
$this->assertEquals($p->getValue($resource), $p->getValue($newResource));
209+
}
197210
}

0 commit comments

Comments
 (0)
0