diff options
-rw-r--r-- | src/HTML5/Serializer/OutputRules.php | 2 | ||||
-rw-r--r-- | test/HTML5/Serializer/OutputRulesTest.php | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/HTML5/Serializer/OutputRules.php b/src/HTML5/Serializer/OutputRules.php index bb0cb45..bc57346 100644 --- a/src/HTML5/Serializer/OutputRules.php +++ b/src/HTML5/Serializer/OutputRules.php @@ -120,7 +120,7 @@ class OutputRules implements \HTML5\Serializer\RulesInterface { } public function processorInstruction($ele) { - $this->wr('<?')->wr($ele->target)->wr($ele->data)->wr(' ?>'); + $this->wr('<?')->wr($ele->target)->wr(' ')->wr($ele->data)->wr('?>'); } /** diff --git a/test/HTML5/Serializer/OutputRulesTest.php b/test/HTML5/Serializer/OutputRulesTest.php index a451055..61e2d50 100644 --- a/test/HTML5/Serializer/OutputRulesTest.php +++ b/test/HTML5/Serializer/OutputRulesTest.php @@ -330,4 +330,15 @@ class OutputRulesTest extends \HTML5\Tests\TestCase { $this->assertRegExp('|<csymbol definitionURL="http://www.example.com/mathops/multiops.html#plusminus">|', $content); } + function testProcessorInstruction() { + $dom = \HTML5::loadHTMLFragment('<?foo bar ?>'); + + $stream = fopen('php://temp', 'w'); + $r = new OutputRules($stream, \HTML5::options()); + $t = new Traverser($dom, $stream, $r, \HTML5::options()); + + $r->processorInstruction($dom->firstChild); + $content = stream_get_contents($stream, -1, 0); + $this->assertRegExp('|<\?foo bar \?>|', $content); + } } |