diff --git a/src/Composer/Json/JsonManipulator.php b/src/Composer/Json/JsonManipulator.php index 1cb9ff79e..0ca020ad7 100644 --- a/src/Composer/Json/JsonManipulator.php +++ b/src/Composer/Json/JsonManipulator.php @@ -222,6 +222,8 @@ class JsonManipulator } } } + } else { + $childrenClean = $children; } // no child data left, $name was the only key in diff --git a/tests/Composer/Test/Json/JsonManipulatorTest.php b/tests/Composer/Test/Json/JsonManipulatorTest.php index f4097dcca..9b55efb2d 100644 --- a/tests/Composer/Test/Json/JsonManipulatorTest.php +++ b/tests/Composer/Test/Json/JsonManipulatorTest.php @@ -347,6 +347,27 @@ class JsonManipulatorTest extends \PHPUnit_Framework_TestCase } } } +' + ), + 'works on undefined ones' => array( + '{ + "repositories": { + "main": { + "foo": "bar", + "bar": "baz" + } + } +}', + 'removenotthere', + true, + '{ + "repositories": { + "main": { + "foo": "bar", + "bar": "baz" + } + } +} ' ), 'works on empty repos' => array(