public function testSnippet()
{
$this->markTestIncomplete('Update required');
$this->tearDown();
$app = $this->getApp();
// Test snippet inserts at top of <head>
$app['extensions']->insertSnippet(Target::START_OF_HEAD, '<meta name="test-snippet" />');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedStartOfHead), $this->html($html));
// Test snippet inserts at end of <head>
$app['extensions']->clearSnippetQueue();
$app['extensions']->insertSnippet(Target::END_OF_HEAD, '<meta name="test-snippet" />');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedEndOfHead), $this->html($html));
// Test snippet inserts at end of body
$app['extensions']->clearSnippetQueue();
$app['extensions']->insertSnippet(Target::START_OF_BODY, '<p class="test-snippet"></p>');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedStartOfBody), $this->html($html));
// Test snippet inserts at end of </html>
$app['extensions']->clearSnippetQueue();
$app['extensions']->insertSnippet(Target::END_OF_HTML, '<p class="test-snippet"></p>');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedEndOfHtml), $this->html($html));
// Test snippet inserts before existing css
$app['extensions']->clearSnippetQueue();
$app['extensions']->insertSnippet(Target::BEFORE_CSS, '<meta name="test-snippet" />');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedBeforeCss), $this->html($html));
// Test snippet inserts after existing css
$app['extensions']->clearSnippetQueue();
$app['extensions']->insertSnippet(Target::AFTER_CSS, '<meta name="test-snippet" />');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedAfterCss), $this->html($html));
// Test snippet inserts after existing meta tags
$app['extensions']->clearSnippetQueue();
$app['extensions']->insertSnippet(Target::AFTER_META, '<meta name="test-snippet" />');
$html = $app['extensions']->processSnippetQueue($this->template);
$this->assertEquals($this->html($this->expectedAfterMeta), $this->html($html));
}