예제 #1
0
  /** Tests that the website is properly escaped and set. */
  public void testWebsite() {
    assertEquals("http://www.google.com", comment.getWebsite());

    // blank or null website name defaults to null
    comment.setWebsite("");
    assertEquals("", comment.getWebsite()); // FIXME should be null
    comment.setWebsite(null);
    assertEquals("", comment.getWebsite()); // FIXME should be null

    // for security, special HTML characters are removed
    comment.setWebsite("<script>http://www.google.com");
    assertEquals("http://www.google.com", comment.getWebsite());

    // anything websites are also checked for known prefixes and "http://"
    // is prepended if missing
    comment.setWebsite("http://www.google.com");
    assertEquals("http://www.google.com", comment.getWebsite());
    comment.setWebsite("https://www.google.com");
    assertEquals("https://www.google.com", comment.getWebsite());
    comment.setWebsite("ftp://www.google.com");
    assertEquals("ftp://www.google.com", comment.getWebsite());
    comment.setWebsite("mailto://www.google.com");
    assertEquals("mailto://www.google.com", comment.getWebsite());
    comment.setWebsite("www.google.com");
    assertEquals("http://www.google.com", comment.getWebsite());
  }