Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
5 / 5
CRAP
100.00% covered (success)
100.00%
1 / 1
ValidatorRegex
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
5 / 5
5
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 getRegexTester
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setRegexTester
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setMsgContent
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
1
 testValue
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 * @author: Doug Wilbourne (dougwilbourne@gmail.com)
5 */
6declare(strict_types=1);
7
8namespace pvc\validator\validator;
9
10use pvc\interfaces\msg\MsgInterface;
11use pvc\validator\val_tester\regex\RegexTester;
12use pvc\validator\Validator;
13
14/**
15 * Class ValidatorRegex
16 * @extends Validator<string>
17 */
18class ValidatorRegex extends Validator
19{
20    /**
21     * @var RegexTester
22     */
23    protected RegexTester $regexTester;
24
25    /**
26     * @param MsgInterface $msg
27     * @param RegexTester $regexTester
28     */
29    public function __construct(MsgInterface $msg, RegexTester $regexTester)
30    {
31        parent::__construct($msg);
32        $this->setRegexTester($regexTester);
33    }
34
35    /**
36     * getRegexTester
37     * @return RegexTester
38     */
39    public function getRegexTester(): RegexTester
40    {
41        return $this->regexTester;
42    }
43
44    /**
45     * setRegexTester
46     * @param RegexTester $regexTester
47     */
48    public function setRegexTester(RegexTester $regexTester): void
49    {
50        $this->regexTester = $regexTester;
51    }
52
53    /**
54     * setMsgContent
55     */
56    protected function setMsgContent(): void
57    {
58        $msgId = 'regex_test_failed';
59        $msgParameters = ['regex_label' => $this->regexTester->getLabel()];
60        $domain = 'Validator';
61        $this->getMsg()->setContent($domain, $msgId, $msgParameters);
62    }
63
64    /**
65     * testValue
66     * @param string $data
67     * @return bool
68     */
69    protected function testValue(mixed $data): bool
70    {
71        return $this->regexTester->testValue($data);
72    }
73}