$xml->remove('//child1', '//child2'); assert_equal_xml($xml, $this->expected); $xml = $this->new_doc->__invoke(); $xml->query('/doc')->remove('//child1', '//child2'); assert_equal_xml($xml, $this->expected); $xml = $this->new_doc->__invoke(); $xml->query('/doc/parent')->remove('child1', 'child2'); assert_equal_xml($xml, $this->expected); }); }); describe('.add', function () { it('should behave like .appendChild', function () { $xml = new FluidXml(); $xml->appendChild('parent', true)->appendChild(['child1', 'child2'], ['class' => 'child']); $alias = new FluidXml(); $alias->add('parent', true)->add(['child1', 'child2'], ['class' => 'child']); $actual = $xml->xml(); $expected = $alias->xml(); assert($actual === $expected, __($actual, $expected)); }); }); describe('.prepend', function () { it('should behave like .prependSibling', function () { $xml = new FluidXml(); $xml->prependSibling('sibling1', true)->prependSibling(['sibling2', 'sibling3'], ['class' => 'sibling']); $alias = new FluidXml(); $alias->prepend('sibling1', true)->prepend(['sibling2', 'sibling3'], ['class' => 'sibling']); $actual = $xml->xml(); $expected = $alias->xml(); assert($actual === $expected, __($actual, $expected)); });