1: <?php
2:
3: namespace Mockery\Generator\StringManipulation\Pass;
4:
5: use Mockery\Generator\MockConfiguration;
6:
7: 8: 9: 10: 11: 12:
13: class RemoveUnserializeForInternalSerializableClassesPass
14: {
15: const DUMMY_METHOD_DEFINITION = 'public function unserialize($string) {} ';
16:
17: public function apply($code, MockConfiguration $config)
18: {
19: $target = $config->getTargetClass();
20:
21: if (!$target) {
22: return $code;
23: }
24:
25: if (!$target->hasInternalAncestor() || !$target->implementsInterface("Serializable")) {
26: return $code;
27: }
28:
29: $code = $this->appendToClass($code, self::DUMMY_METHOD_DEFINITION);
30:
31: return $code;
32: }
33:
34: protected function appendToClass($class, $code)
35: {
36: $lastBrace = strrpos($class, "}");
37: $class = substr($class, 0, $lastBrace) . $code . "\n }\n";
38: return $class;
39: }
40: }
41: