\assert($actual === $expected, __($actual, $expected)); }); }); describe(':domnodesToString()', function () { it('should convert an array of DOMNode instances to an XML string', function () { $xml = new FluidXml(); $nodes = [$xml->dom()->documentElement]; $actual = FluidHelper::domnodesToString($nodes); $expected = "<doc/>"; \assert($actual === $expected, __($actual, $expected)); }); }); describe('simplexmlToStringWithoutHeaders()', function () { it('should convert a SimpleXMLElement instance to an XML string without the XML headers (declaration and stylesheets)', function () { $xml = \simplexml_import_dom((new FluidXml())->dom()); $actual = FluidHelper::simplexmlToStringWithoutHeaders($xml); $expected = "<doc/>"; \assert($actual === $expected, __($actual, $expected)); }); }); }); describe('CssTranslator', function () { describe('.xpath()', function () { $hml = new FluidXml(['html' => ['body' => ['div' => ['p' => ['@class' => 'a', '@id' => '123', ['span']], 'h1' => ['@class' => 'b'], 'p' => ['@class' => 'a b'], 'p' => ['@class' => 'a']]]]]); $hml->namespace('svg', 'http://svg.org'); $hml->query('//body')->add('svg', true)->add('shape'); it('should support the CSS selector A', function () use($hml) { $actual = $hml->query('p')->array(); $expected = $hml->query('.//p')->array(); \assert($actual === $expected, __($actual, $expected)); $expected = $hml->query('//p')->array();