package com.google.sitebricks.rendering;
import com.google.sitebricks.compiler.Parsing;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* @author Dhanji R. Prasanna (dhanji@gmail com)
*/
public class ParsingTest {
private static final String XML_AND_FLAT_TEMPLATES = "XMLandFlats";
@DataProvider(name = XML_AND_FLAT_TEMPLATES)
public Object[][] get() {
return new Object[][]{
{" @Meta() Hello world!", false},
{" <xml>@Meta() Hello world!</xml>", true},
{" @Meta() <Hello> world!</Hello>", false},
{" <X @Meta() Hello world!", true},
{" \n\n\n @Meta() Hello world!", false},
{" \n\n\n @Meta() Hello world!", false},
{" \n\t @Meta() Hello world!", false},
{" \n\r @Meta() Hello world!", false},
{" \n\r @Metas() Hello world!", true},
{" \t \n\r @Meta) Hello world!", true},
{" \t \n\r @Meta@Meta Hello world!", true},
{" \t \n\r @@Meta Hello world!", true},
{" \t \n\r @\n@Meta Hello world!", true},
{" \n\r @Meta Hello world!", false},
};
}
@Test(dataProvider = XML_AND_FLAT_TEMPLATES)
public final void isXmlTemplateOrNot(final String template, boolean is) {
assert is == Parsing.treatAsXml(template);
}
/**
* URI(Uniform Resource identifiers)
* http://www.ietf.org/rfc/rfc2396.txt
*
* Huge thanks for this contribution to: qizhanming
*/
@Test
public void testIsValidURI() {
String uri = null;
assert !Parsing.isValidURI(uri);
/*
* first, test right URI
*/
uri = "ftp://ftp.is.co.za/rfc/rfc1808.txt";
//-- ftp scheme for File Transfer Protocol services
assert Parsing.isValidURI(uri);
uri = "gopher://spinaltap.micro.umn.edu/00/Weather/California/Los%20Angeles";
//-- gopher scheme for Gopher and Gopher+ Protocol services
assert Parsing.isValidURI(uri);
uri = "http://www.math.uio.no/faq/compression-faq/part1.html";
//-- http scheme for Hypertext Transfer Protocol services
assert Parsing.isValidURI(uri);
uri = "mailto:mduerst@ifi.unizh.ch";
//-- mailto scheme for electronic mail addresses
assert Parsing.isValidURI(uri);
uri = "news:comp.infosystems.www.servers.unix";
//-- news scheme for USENET news groups and articles
assert Parsing.isValidURI(uri);
uri = "telnet://melvyl.ucop.edu/";
//-- telnet scheme for interactive services via the TELNET Protocol
assert Parsing.isValidURI(uri);
}
}