⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 requesttest.java

📁 pebble-blog 博客源码博客源码博客源码
💻 JAVA
字号:
/* * Copyright (c) 2003-2006, Simon Brown * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * *   - Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. * *   - Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in *     the documentation and/or other materials provided with the *     distribution. * *   - Neither the name of Pebble nor the names of its contributors may *     be used to endorse or promote products derived from this software *     without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */package net.sourceforge.pebble.logging;import net.sourceforge.pebble.PebbleContext;import net.sourceforge.pebble.permalink.TitlePermalinkProvider;import net.sourceforge.pebble.domain.BlogEntry;import net.sourceforge.pebble.domain.BlogService;import net.sourceforge.pebble.domain.SingleBlogTestCase;/** * Tests for the Request class. * * @author    Simon Brown */public class RequestTest extends SingleBlogTestCase {  private Request url;  protected void setUp() throws Exception {    super.setUp();    url = new Request("http://www.somedomain.com");    url.addLogEntry(new LogEntry());  }  public void testConstruction() {    assertEquals("http://www.somedomain.com", url.getName());    assertEquals("http://www.somedomain.com", url.getUrl());    assertEquals(1, url.getCount());  }  public void testIncrementingCount() {    assertEquals(1, url.getCount());    url.addLogEntry(new LogEntry());    assertEquals(2, url.getCount());  }  public void testShortUrlIsNotTruncated() {    String s = "http://www.somedomain.com";    url = new Request(s);    assertEquals("http://www.somedomain.com", url.getTruncatedName());  }  public void testLongUrlIsTruncated() {    String s = "http://www.somedomain.com/here/is/a/long/url/abcdefghijklmnopqrstuvwxyz012345678012345678901234567890123456789";    url = new Request(s);    assertEquals(s.substring(0, Request.NAME_LENGTH_LIMIT - 3) + "...", url.getTruncatedName());  }  public void testEmptyUrl() {    url = new Request("");    assertEquals("", url.getUrl());    assertEquals("None", url.getName());  }  public void testNullUrl() {    url = new Request(null);    assertEquals(null, url.getUrl());    assertEquals("None", url.getName());  }  public void testHashCode() {    url = new Request(null);    assertEquals(0, url.hashCode());    url = new Request("http://www.somedomain.com");    assertEquals("http://www.somedomain.com".hashCode(), url.hashCode());  }  public void testEquals() {    Request url1 = new Request("http://www.somedomain.com");    Request url2 = new Request("http://www.yahoo.com");    Request url3 = new Request(null);    Request url4 = new Request(null);    assertFalse(url1.equals(null));    assertFalse(url1.equals("http://www.somedomain.com"));    assertTrue(url1.equals(url1));    assertFalse(url1.equals(url2));    assertFalse(url2.equals(url1));    assertFalse(url1.equals(url3));    assertFalse(url3.equals(url1));    assertTrue(url3.equals(url4));  }  /**   * Test that friendly names are used for news feeds.   */  public void testFriendlyNamesForNewsFeeds() {    url = new Request("http://...rss.xml");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...rss.xml?category=java");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...feed.xml");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...feed.xml?category=java");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...feed.action");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...feed.action?category=java");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...rdf.xml");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...rdf.xml?category=java");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...atom.xml");    assertEquals("Feed : Blog Entries", url.getName());    url = new Request("http://...atom.xml?category=java");    assertEquals("Feed : Blog Entries", url.getName());  }  public void testFriendlyNamesForHomePage() throws Exception {    url = new Request("/", blog);    assertEquals("Home", url.getName());  }  public void testFriendlyNamesForBlogEntries() throws Exception {    BlogEntry be = new BlogEntry(blog);    be.setTitle("Test blog entry");    BlogService service = new BlogService();    service.putBlogEntry(be);    String permalink = "/" + be.getPermalink().substring(PebbleContext.getInstance().getConfiguration().getUrl().length());    url = new Request(permalink, blog);    assertEquals("Blog Entry : Test blog entry", url.getName());  }  public void testFriendlyNamesForBlogEntriesUsingDefaultPermalinkProvider() throws Exception {    BlogEntry be = new BlogEntry(blog);    be.setTitle("Test blog entry");    BlogService service = new BlogService();    service.putBlogEntry(be);    String permalink = "/" + be.getPermalink().substring(PebbleContext.getInstance().getConfiguration().getUrl().length());    blog.setPermalinkProvider(new TitlePermalinkProvider());    url = new Request(permalink, blog);    assertEquals("Blog Entry : Test blog entry", url.getName());  }  public void testFriendlyNamesForTagPage() throws Exception {    url = new Request("/tags/", blog);    assertEquals("Tags", url.getName());    url = new Request("/tags", blog);    assertEquals("Tags", url.getName());    url = new Request("/tags/java", blog);    assertEquals("Tag : java", url.getName());    url = new Request("/tags/java/", blog);    assertEquals("Tag : java", url.getName());  }  public void testFriendlyNamesForCategoryPage() throws Exception {    url = new Request("/categories/", blog);    assertEquals("Categories", url.getName());    url = new Request("/categories", blog);    assertEquals("Categories", url.getName());    url = new Request("/categories/java", blog);    assertEquals("Category : java", url.getName());    url = new Request("/categories/java/", blog);    assertEquals("Category : java", url.getName());  }  public void testFriendlyNamesForFile() throws Exception {    url = new Request("/files/", blog);    assertEquals("Files", url.getName());    url = new Request("/files", blog);    assertEquals("Files", url.getName());    url = new Request("/files/test.txt", blog);    assertEquals("File : test.txt", url.getName());    url = new Request("/files/directory/test.txt", blog);    assertEquals("File : directory/test.txt", url.getName());  }  public void testFriendlyNamesForBlogEntriesByPage() throws Exception {    url = new Request("/blogentries/1.html", blog);    assertEquals("Blog Entries : Page 1", url.getName());  }  public void testFriendlyNamesForMonthPages() throws Exception {    url = new Request("/2007/07.html", blog);    assertEquals("Month : July 2007", url.getName());  }  public void testFriendlyNamesForDayPages() throws Exception {    url = new Request("/2007/07/01.html", blog);    assertEquals("Day : 01 July 2007", url.getName());  }  public void testFriendlyNamesForResponsesFeed() throws Exception {    url = new Request("/responses/rss.xml", blog);    assertEquals("Feed : Responses", url.getName());    url = new Request("/responses/atom.xml", blog);    assertEquals("Feed : Responses", url.getName());  }  public void testFriendlyNamesForCategoryFeeds() throws Exception {    url = new Request("/categories/java/rss.xml", blog);    assertEquals("Feed : category=java", url.getName());    url = new Request("/categories/java/atom.xml", blog);    assertEquals("Feed : category=java", url.getName());    url = new Request("/categories/java/junit/rss.xml", blog);    assertEquals("Feed : category=java/junit", url.getName());    url = new Request("/categories/java/junit/atom.xml", blog);    assertEquals("Feed : category=java/junit", url.getName());  }  public void testFriendlyNamesForTagFeeds() throws Exception {    url = new Request("/tags/java/rss.xml", blog);    assertEquals("Feed : tag=java", url.getName());    url = new Request("/tags/java/atom.xml", blog);    assertEquals("Feed : tag=java", url.getName());  }  public void testFriendlyNamesForAuthorFeeds() throws Exception {    url = new Request("/authors/sbrown/rss.xml", blog);    assertEquals("Feed : author=sbrown", url.getName());    url = new Request("/authors/sbrown/atom.xml", blog);    assertEquals("Feed : author=sbrown", url.getName());  }  public void testFriendlyNamesForAuthorPage() throws Exception {    url = new Request("/authors/sbrown/", blog);    assertEquals("Author : sbrown", url.getName());    url = new Request("/authors/sbrown", blog);    assertEquals("Author : sbrown", url.getName());  }  public void testFriendlyNamesForStaticPage() throws Exception {    url = new Request("/pages/sbrown.html", blog);    assertEquals("Static Page : sbrown.html", url.getName());    url = new Request("/pages/authors/sbrown.html", blog);    assertEquals("Static Page : authors/sbrown.html", url.getName());  }  public void testFriendlyNamesForSearches() throws Exception {    url = new Request("/search.action", blog);    assertEquals("Search", url.getName());    url = new Request("/search.action?query=java", blog);    assertEquals("Search", url.getName());  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -