public function testIgnoreExtraneous() { $values = array('a' => 1, 'b' => 2); $form = new Form(array('a' => array('required'))); $this->assertTrue($form->validate($values)); $this->assertEquals($values['a'], $form->a); $this->assertNull($form->b); $form->setValues(array()); $this->assertFalse($form->validate($values, array('ignore_extraneous' => false))); $this->assertTrue($form->hasErrors('b')); $form->setValues(array()); $form->setOptions(array('ignore_extraneous' => false)); $this->assertFalse($form->validate($values)); $this->assertTrue($form->hasErrors('b')); $form->setValues(array('c' => 3)); $form->setOptions(array('ignore_extraneous' => false)); $this->assertTrue($form->validate(array('a' => 1)), 'Ignore extraneous default'); }