Skip to content

Commit 06894a2

Browse files
committed
Merge branch '2.3' into 2.7
* 2.3: [DependencyInjection] Resolve aliases before removing abstract services + add tests Fix Dom Crawler select option with empty value Remove unnecessary option assignment remove unused variable [PropertyAccess] Fix regression
2 parents 2861ac7 + 91ec4a0 commit 06894a2

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

PropertyAccessor.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ public function setValue(&$objectOrArray, $propertyPath, $value)
191191
if ($propertyPath->isIndex($i)) {
192192
if ($overwrite = !isset($zval[self::REF])) {
193193
$ref = &$zval[self::REF];
194+
$ref = $zval[self::VALUE];
194195
}
195196
$this->writeIndex($zval, $property, $value);
196197
if ($overwrite) {

Tests/PropertyAccessorTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,4 +529,14 @@ public function testSetTypeHint()
529529
$this->propertyAccessor->setValue($object, 'date', $date);
530530
$this->assertSame($date, $object->getDate());
531531
}
532+
533+
public function testArrayNotBeeingOverwritten()
534+
{
535+
$value = array('value1' => 'foo', 'value2' => 'bar');
536+
$object = new TestClass($value);
537+
538+
$this->propertyAccessor->setValue($object, 'publicAccessor[value2]', 'baz');
539+
$this->assertSame('baz', $this->propertyAccessor->getValue($object, 'publicAccessor[value2]'));
540+
$this->assertSame(array('value1' => 'foo', 'value2' => 'baz'), $object->getPublicAccessor());
541+
}
532542
}

0 commit comments

Comments
 (0)