• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wol-soft / php-json-schema-model-generator-production / 28628803629

02 Jul 2026 11:47PM UTC coverage: 21.548% (-0.7%) from 22.282%
28628803629

push

github

wol-soft
Add JSON Pointer (RFC 6901) to all ValidationException subclasses

Every exception now accepts a JSON pointer as the second constructor
argument and exposes it via getJsonPointer(), which returns a JsonPointer
value object with a ->pointer string property. The pointer identifies the
schema keyword that rejected the value (e.g. /properties/age/minimum).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

3 of 103 new or added lines in 37 files covered. (2.91%)

26 existing lines in 26 files now uncovered.

167 of 775 relevant lines covered (21.55%)

0.72 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Exception/Object/InvalidPatternPropertiesException.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace PHPModelGenerator\Exception\Object;
6

7
use PHPModelGenerator\Exception\ValidationException;
8

9
/**
10
 * Class InvalidPatternPropertiesException
11
 *
12
 * @package PHPModelGenerator\Exception\Object
13
 */
14
class InvalidPatternPropertiesException extends ValidationException
15
{
16
    /**
17
     * InvalidAdditionalPropertiesException constructor.
18
     *
19
     * @param $providedValue
20
     * @param ValidationException[][] $nestedExceptions
21
     */
NEW
22
    public function __construct(
×
23
        $providedValue,
24
        string $propertyName,
25
        string $jsonPointer,
26
        protected string $pattern,
27
        protected $nestedExceptions
28
    ) {
NEW
29
        parent::__construct($this->getErrorMessage($propertyName), $propertyName, $providedValue, $jsonPointer);
×
30
    }
31

32
    /**
33
     * Get a list of nested exceptions containing all failed validations indexed by the required pattern
34
     *
35
     * @return ValidationException[][]
36
     */
37
    public function getNestedExceptions(): array
×
38
    {
39
        return $this->nestedExceptions;
×
40
    }
41

42
    public function getPattern(): string
×
43
    {
44
        return $this->pattern;
×
45
    }
46

47
    protected function getErrorMessage(string $propertyName): string
×
48
    {
49
        $output = '';
×
50
        foreach ($this->nestedExceptions as $nestedPropertyName => $exceptions) {
×
51
            $output .= sprintf(
×
52
                "\n  - invalid property '%s' matching pattern '%s'\n    * %s",
×
53
                $nestedPropertyName,
×
54
                $this->pattern,
×
55
                implode(
×
56
                    "\n    * ",
×
57
                    str_replace(
×
58
                        "\n",
×
59
                        "\n    ",
×
60
                        array_map(fn(ValidationException $exception): string => $exception->getMessage(), $exceptions)
×
61
                    )
×
62
                )
×
63
            );
×
64
        }
65

66
        return "Provided JSON for $propertyName contains invalid pattern properties." . $output;
×
67
    }
68
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc