|
|
@@ -5713,9 +5713,7 @@ class FormHelperTest extends CakeTestCase {
|
|
|
'method' => 'post', 'action' => '/posts/delete/1',
|
|
|
'name' => 'preg:/post_\w+/', 'id' => 'preg:/post_\w+/', 'style' => 'display:none;'
|
|
|
),
|
|
|
- 'div' => array('style' => 'display:none;'),
|
|
|
'input' => array('type' => 'hidden', 'name' => '_method', 'value' => 'POST'),
|
|
|
- '/div',
|
|
|
'/form',
|
|
|
'a' => array('href' => '#', 'onclick' => 'preg:/document\.post_\w+\.submit\(\); event\.returnValue = false; return false;/'),
|
|
|
'Delete',
|
|
|
@@ -5728,9 +5726,7 @@ class FormHelperTest extends CakeTestCase {
|
|
|
'method' => 'post', 'action' => '/posts/delete/1',
|
|
|
'name' => 'preg:/post_\w+/', 'id' => 'preg:/post_\w+/', 'style' => 'display:none;'
|
|
|
),
|
|
|
- 'div' => array('style' => 'display:none;'),
|
|
|
'input' => array('type' => 'hidden', 'name' => '_method', 'value' => 'POST'),
|
|
|
- '/div',
|
|
|
'/form',
|
|
|
'a' => array('href' => '#', 'onclick' => 'preg:/if \(confirm\('Confirm\?'\)\) \{ document\.post_\w+\.submit\(\); \} event\.returnValue = false; return false;/'),
|
|
|
'Delete',
|
|
|
@@ -5738,7 +5734,35 @@ class FormHelperTest extends CakeTestCase {
|
|
|
));
|
|
|
|
|
|
$result = $this->Form->postLink('Delete', '/posts/delete', array('data' => array('id' => 1)));
|
|
|
- $this->assertTrue(strpos($result, '<input type="hidden" name="data[id]" value="1"/>') !== false);
|
|
|
+ $this->assertContains('<input type="hidden" name="data[id]" value="1"/>', $result);
|
|
|
+ }
|
|
|
+
|
|
|
+/**
|
|
|
+ * Test that postLink adds _Token fields.
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testSecurePostLink() {
|
|
|
+ $this->Form->request->params['_Token'] = array('key' => 'testkey');
|
|
|
+
|
|
|
+ $result = $this->Form->postLink('Delete', '/posts/delete/1');
|
|
|
+ $expected = array(
|
|
|
+ 'form' => array(
|
|
|
+ 'method' => 'post', 'action' => '/posts/delete/1',
|
|
|
+ 'name' => 'preg:/post_\w+/', 'id' => 'preg:/post_\w+/', 'style' => 'display:none;'
|
|
|
+ ),
|
|
|
+ array('input' => array('type' => 'hidden', 'name' => '_method', 'value' => 'POST')),
|
|
|
+ array('input' => array('type' => 'hidden', 'name' => 'data[_Token][key]', 'value' => 'testkey', 'id' => 'preg:/Token\d+/')),
|
|
|
+ 'div' => array('style' => 'display:none;'),
|
|
|
+ array('input' => array('type' => 'hidden', 'name' => 'data[_Token][fields]', 'value' => 'preg:/[\w\d%]+/', 'id' => 'preg:/TokenFields\d+/')),
|
|
|
+ array('input' => array('type' => 'hidden', 'name' => 'data[_Token][unlocked]', 'value' => '', 'id' => 'preg:/TokenUnlocked\d+/')),
|
|
|
+ '/div',
|
|
|
+ '/form',
|
|
|
+ 'a' => array('href' => '#', 'onclick' => 'preg:/document\.post_\w+\.submit\(\); event\.returnValue = false; return false;/'),
|
|
|
+ 'Delete',
|
|
|
+ '/a'
|
|
|
+ );
|
|
|
+ $this->assertTags($result, $expected);
|
|
|
}
|
|
|
|
|
|
/**
|