public function testRemoveMainKey() { $manipulator = new JsonManipulator('{ "repositories": [ { "package": { "require": { "this/should-not-end-up-in-root-require": "~2.0" }, "require-dev": { "this/should-not-end-up-in-root-require-dev": "~2.0" } } } ], "require": { "package/a": "*", "package/b": "*", "package/c": "*" }, "foo": "bar", "require-dev": { "package/d": "*" } }'); $this->assertTrue($manipulator->removeMainKey('repositories')); $this->assertEquals('{ "require": { "package/a": "*", "package/b": "*", "package/c": "*" }, "foo": "bar", "require-dev": { "package/d": "*" } } ', $manipulator->getContents()); $this->assertTrue($manipulator->removeMainKey('foo')); $this->assertEquals('{ "require": { "package/a": "*", "package/b": "*", "package/c": "*" }, "require-dev": { "package/d": "*" } } ', $manipulator->getContents()); $this->assertTrue($manipulator->removeMainKey('require')); $this->assertTrue($manipulator->removeMainKey('require-dev')); $this->assertEquals('{ } ', $manipulator->getContents()); }