Browse Source

Merge pull request #10277 from Manuel1948/master

Make sure newline character is working in confirm messages for FormHelper
Mark Story 9 years ago
parent
commit
67ba9e7a56
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/View/Helper.php
  2. 1 1
      tests/TestCase/View/Helper/FormHelperTest.php

+ 1 - 1
src/View/Helper.php

@@ -176,7 +176,7 @@ class Helper implements EventListenerInterface
      */
     protected function _confirm($message, $okCode, $cancelCode = '', $options = [])
     {
-        $message = str_replace('\n', "\n", json_encode($message));
+        $message = str_replace('\\\n', '\n', json_encode($message));
         $confirm = "if (confirm({$message})) { {$okCode} } {$cancelCode}";
         // We cannot change the key here in 3.x, but the behavior is inverted in this case
         $escape = isset($options['escape']) && $options['escape'] === false;

+ 1 - 1
tests/TestCase/View/Helper/FormHelperTest.php

@@ -7383,7 +7383,7 @@ class FormHelperTest extends TestCase
             ],
             'input' => ['type' => 'hidden', 'name' => '_method', 'value' => 'POST'],
             '/form',
-            'a' => ['href' => '#', 'onclick' => "preg:/if \(confirm\("'Confirm'\\nthis \\\\"deletion\\\\"\?"\)\) \{ document\.post_\w+\.submit\(\); \} event\.returnValue = false; return false;/"],
+            'a' => ['href' => '#', 'onclick' => "preg:/if \(confirm\("'Confirm'\\\\nthis \\\"deletion\\\"\?"\)\) \{ document\.post_\w+\.submit\(\); \} event\.returnValue = false; return false;/"],
             'Delete',
             '/a'
         ];