Browse Source

Fixed to account for keys including numeric values above 9

lilHermit 8 years ago
parent
commit
c956a926db
2 changed files with 3 additions and 2 deletions
  1. 1 1
      src/View/Form/ArrayContext.php
  2. 2 1
      tests/TestCase/View/Form/ArrayContextTest.php

+ 1 - 1
src/View/Form/ArrayContext.php

@@ -299,6 +299,6 @@ class ArrayContext implements ContextInterface
      */
     protected function stripNesting($field)
     {
-        return preg_replace('/\.\d\./', '.', $field);
+        return preg_replace('/\.\d*\./', '.', $field);
     }
 }

+ 2 - 1
tests/TestCase/View/Form/ArrayContextTest.php

@@ -185,7 +185,8 @@ class ArrayContextTest extends TestCase
 
         $this->assertEquals('Default value', $context->val('title'));
         $this->assertEquals('common1', $context->val('users.0.tags'));
-        $this->assertEquals('common2', $context->val('users.0.9tags'));
+        $this->assertEquals('common1', $context->val('users.99.tags'));
+        $this->assertEquals('common2', $context->val('users.9.9tags'));
         $result = $context->val('title', ['default' => 'explicit default']);
         $this->assertEquals('explicit default', $result);
     }