@@ -189,6 +189,23 @@ public function testGetAttributeErrorMessages(): void
189189 $ this ->assertEquals (['error4.1 ' , 'error4.2 ' ], $ result ->getPropertyErrorMessages ('attribute4 ' ));
190190 }
191191
192+ public function testGetPropertyErrorMessagesByPath (): void
193+ {
194+ $ result = (new Result ())
195+ ->addError ('e1 ' , valuePath: ['age ' ])
196+ ->addError ('e2 ' , valuePath: ['person ' ])
197+ ->addError ('e3 ' , valuePath: ['person ' , 'first_name ' ])
198+ ->addError ('e4 ' , valuePath: ['person ' , 'first_name ' ])
199+ ->addError ('e5 ' , valuePath: ['person ' , 'last_name ' ])
200+ ->addError ('e6 ' );
201+
202+ $ this ->assertSame (['e1 ' , 'e2 ' , 'e3 ' , 'e4 ' , 'e5 ' , 'e6 ' ], $ result ->getPropertyErrorMessagesByPath ([]));
203+ $ this ->assertSame ([], $ result ->getPropertyErrorMessagesByPath (['non-exists ' ]));
204+ $ this ->assertSame (['e1 ' ], $ result ->getPropertyErrorMessagesByPath (['age ' ]));
205+ $ this ->assertSame (['e2 ' , 'e3 ' , 'e4 ' , 'e5 ' ], $ result ->getPropertyErrorMessagesByPath (['person ' ]));
206+ $ this ->assertSame (['e3 ' , 'e4 ' ], $ result ->getPropertyErrorMessagesByPath (['person ' , 'first_name ' ]));
207+ }
208+
192209 public function testGetAttributeErrorMessagesIndexedByPath (): void
193210 {
194211 $ result = $ this ->createAttributeErrorResult ();
0 commit comments