See also: lithium\security\validation\RequestToken
Inheritance: extends lithium\template\Helper
Beispiel #1
0
 public function testFormSignatureWithLockedAndExcluded()
 {
     $form = new Form(array('context' => $this->context));
     $validator = 'lithium\\tests\\mocks\\security\\validation\\MockFormSignature';
     $helper = new Security(array('context' => $this->context, 'classes' => array('formSignature' => $validator)));
     $helper->sign($form);
     ob_start();
     $content = array($form->create(null, array('url' => 'http:///')), $form->text('email', array('value' => 'foo@bar')), $form->password('pass'), $form->hidden('id', array('value' => 23)), $form->text('foo', array('value' => 'bar', 'exclude' => true)), $form->hidden('active', array('value' => 'true', 'exclude' => true, 'locked' => false)), $form->end());
     ob_get_clean();
     $result = $validator::$compile[0]['in'];
     $expected = array('fields' => array('email', 'pass'), 'excluded' => array('foo', 'active'), 'locked' => array('id' => 23));
     $compiledSignature = $validator::$compile[0]['out'];
     $this->assertEqual($expected, $result);
     $request = new Request(array('data' => array('security' => array('signature' => $compiledSignature))));
     $validator::check($request);
     $expected = $compiledSignature;
     $result = $validator::$parse[0]['in']['signature'];
     $this->assertEqual($expected, $result);
     $result = $validator::$parse[0]['out'];
     $expected = array('excluded' => array('active', 'foo'), 'locked' => array('id' => 23));
     $this->assertEqual($expected, $result);
     $validator::reset();
 }