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; } }