$highlighter = new sfLuceneHighlighterXML($xml);
$highlighter->addKeywords(array($keyword, $keyword2));
$highlighter->highlight();
$t->is($highlighter->export(), $expected, '->highlight() handles entities correctly');
$xml = '<?xml version="1.0" encoding="utf-8"?>
<root>
  <child>hellÆ bäz</child>
  <child>i am fööbär</child>
</root>
';
$expected = '<?xml version="1.0" encoding="utf-8"?>
<root>
  <child>hellÆ <s>bäz</s></child>
  <child>i am <h>fööbär</h></child>
</root>
';
$keyword = new sfLuceneHighlighterKeywordNamed(new sfLuceneHighlighterMarkerSprint('<h>%s</h>'), 'fööbär');
$keyword2 = new sfLuceneHighlighterKeywordNamed(new sfLuceneHighlighterMarkerSprint('<s>%s</s>'), 'bäz');
$highlighter = new sfLuceneHighlighterXML($xml);
$highlighter->addKeywords(array($keyword, $keyword2));
$highlighter->highlight();
$t->is($highlighter->export(), $expected, '->highlight() handles UTF8 characters correctly');
try {
    $h = new sfLuceneHighlighterXML('<foo>&ddd;<foo></baz></bar>');
    $h->highlight();
    $t->fail('->highlight() rejects invalid XML');
} catch (Exception $e) {
    $t->pass('->highlight() rejects invalid XML');
}
$highlighter = new sfLuceneHighlighterXML($xml);
$t->is($highlighter->__toString(), $xml, 'highlighter implements __toString()');
<root>
  <child>hello &amp; baz&oacute;</child>
  <child>i&nbsp;am foobar</child>
</root>
';
$expected = '<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-200000126/DTD/xhtml1-transitional.dtd">
<root>
  <child>hello &amp; <s>baz</s>&oacute;</child>
  <child>i&nbsp;am <h>foobar</h></child>
</root>
';
$highlighter = new sfLuceneHighlighterXML($xml);
$highlighter->addKeywords(array($keyword, $keyword2));
$highlighter->highlight();
$t->is($highlighter->export(), $expected, '->highlight() handles entities correctly');
$xml = '<?xml version="1.0"?>
<root>
  <child>hellÆ bäz</child>
  <child>i am fööbär</child>
</root>
';
$expected = '<?xml version="1.0"?>
<root>
  <child>hellÆ <s>bäz</s></child>
  <child>i am <h>fööbär</h></child>
</root>
';
$highlighter = new sfLuceneHighlighterXML($xml);
$highlighter->addKeywords(array($keyword, $keyword2));
$highlighter->highlight();