/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.web.portal.page;
import org.junit.Assert;
import org.junit.Test;
public class HTML5HttpResponseFilterTest
{
@Test
public void test_fixer_process()
throws Exception
{
final String html = " <!DOCTYPE html \r\n SYSTEM \r \"about:legacy-compat\">test";
Assert.assertEquals( "<!DOCTYPE html>test", new HTML5HttpResponseFilter( "html5fixer" ).filterResponse( null, html, "text/html" ) );
}
@Test
public void test_fixer_skip()
throws Exception
{
final String html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">test";
Assert.assertSame( html, new HTML5HttpResponseFilter( "html5fixer" ).filterResponse( null, html, "text/html" ) );
}
@Test
public void test_forcer_process()
throws Exception
{
final String html = " \r \n \r\n \n\r <!DOCTYPE html \r\n SYSTEM \r \"about:legacy-compat\">test";
Assert.assertEquals( "<!DOCTYPE html>test",
new HTML5HttpResponseFilter( "html5forcer" ).filterResponse( null, html, "text/html" ) );
}
@Test
public void test_forcer_process_too()
throws Exception
{
final String html =
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">test";
Assert.assertEquals( "<!DOCTYPE html>test",
new HTML5HttpResponseFilter( "html5forcer" ).filterResponse( null, html, "text/html" ) );
}
@Test
public void test_forcer_skip_frameset()
throws Exception
{
final String pattern =
"<!DOCTYPE html\n PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\" \"http://www.w3.org/TR/html4/frameset.dtd\">test";
Assert.assertSame( pattern, new HTML5HttpResponseFilter( "html5fixer" ).filterResponse( null, pattern, "text/html" ) );
}
}