Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
DomFaker
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 supports
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 fakeFor
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2namespace Apie\Faker\Fakers;
3
4use Apie\Faker\Interfaces\ApieClassFaker;
5use DOMAttr;
6use DOMDocument;
7use DOMElement;
8use Faker\Generator;
9use ReflectionClass;
10
11/** @implements ApieClassFaker<DOMAttr|DOMElement> */
12class DomFaker implements ApieClassFaker
13{
14    public function supports(ReflectionClass $class): bool
15    {
16        return in_array($class->name, [DOMAttr::class, DOMElement::class], true);
17    }
18
19    public function fakeFor(Generator $generator, ReflectionClass $class): object
20    {
21        if ($class->name === DOMAttr::class) {
22            return new DOMAttr('value', 'content');
23        }
24
25        $document = new DOMDocument();
26        return $document->createElement('root', 'content');
27    }
28}