/** * * @param boolean $shouldPass * @param string $key * @param mixed $value * @param array $request * @param array $fields * @dataProvider providerGather */ public function testGather($shouldPass, $key, $value, array $request = array(), array $fields = array()) { $_POST = $request; $this->dictionary->gather($fields); if ($shouldPass) { $this->assertArrayHasKey($key, $this->dictionary->fields); $this->assertEquals($this->dictionary->fields[$key], $value); } else { $this->assertArrayNotHasKey($key, $this->dictionary->fields); } }
/** * Handle the POST request * * @param array $fields * @return string|void */ public function handle(array $fields = array()) { if (!$this->hasSubmission()) { return ''; } $this->loadDictionary(); $this->dictionary->gather($fields); /* validate fields */ $this->loadValidator(); $this->validator->reset(); $validated = $this->validate($this->config['validate'], $this->config['validateSeparator']); if ($validated) { $this->postProcess(); } if (!$this->clearFieldsAtEnd) { $this->setFieldsAsPlaceholders(); } return ''; }