| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?phpuse Grav\Common\Config\Config;use Grav\Common\Data\Blueprint;use Grav\Common\Grav;/** * Class InstallCommandTest */class BlueprintTest extends \Codeception\TestCase\Test{    /**     */    public function testValidateStrict(): void    {        $blueprint = $this->loadBlueprint('strict');        $blueprint->validate(['test' => 'string']);    }    /**     * @depends testValidateStrict     */    public function testValidateStrictRequired(): void    {        $blueprint = $this->loadBlueprint('strict');        $this->expectException(\Grav\Common\Data\ValidationException::class);        $blueprint->validate([]);    }    /**     * @depends testValidateStrict     */    public function testValidateStrictExtra(): void    {        $blueprint = $this->loadBlueprint('strict');        $blueprint->validate(['test' => 'string', 'wrong' => 'field']);    }    /**     * @depends testValidateStrict     */    public function testValidateStrictExtraException(): void    {        $blueprint = $this->loadBlueprint('strict');        /** @var Config $config */        $config = Grav::instance()['config'];        $var = 'system.strict_mode.blueprint_strict_compat';        $config->set($var, false);        $this->expectException(\Grav\Common\Data\ValidationException::class);        $blueprint->validate(['test' => 'string', 'wrong' => 'field']);        $config->set($var, true);    }    /**     * @param string $filename     * @return Blueprint     */    protected function loadBlueprint($filename): Blueprint    {        $blueprint = new Blueprint('strict');        $blueprint->setContext(dirname(__DIR__, 3). '/data/blueprints');        $blueprint->load()->init();        return $blueprint;    }}
 |