8 require_once
'_files/ClassesForArgumentSequence.php';
23 $path = realpath(
__DIR__) .
'/_files/ClassesForArgumentSequence.php';
24 $this->_fixturePath = str_replace(
'\\',
'/',
$path);
25 $this->_validator = new \Magento\Framework\Code\Validator\ArgumentSequence();
28 $this->_validator->validate(
'\ArgumentSequence\ParentClass');
33 $this->assertTrue($this->_validator->validate(
'\ArgumentSequence\ValidChildClass'));
38 $expectedSequence =
'$contextObject, $parentRequiredObject, $parentRequiredScalar, ' .
39 '$childRequiredObject, $childRequiredScalar, $parentOptionalObject, $data, $parentOptionalScalar, ' .
40 '$childOptionalObject, $childOptionalScalar';
42 $actualSequence =
'$contextObject, $childRequiredObject, $parentRequiredObject, $parentRequiredScalar, ' .
43 '$childRequiredScalar, $parentOptionalObject, $data, $parentOptionalScalar, ' .
44 '$childOptionalObject, $childOptionalScalar';
46 $message =
'Incorrect argument sequence in class %s in ' .
53 $message = sprintf(
$message,
'\ArgumentSequence\InvalidChildClass', $expectedSequence, $actualSequence);
54 $this->expectException(\
Magento\Framework\Exception\ValidatorException::class);
55 $this->expectExceptionMessage(
$message);
56 $this->_validator->validate(
'\ArgumentSequence\InvalidChildClass');
defined('TESTS_BP')||define('TESTS_BP' __DIR__