View Javadoc

    1   /* FixupQueryStrTest
    2    *
    3    * Created on Oct 6, 2004
    4    *
    5    * Copyright (C) 2004 Internet Archive.
    6    *
    7    * This file is part of the Heritrix web crawler (crawler.archive.org).
    8    *
    9    * Heritrix is free software; you can redistribute it and/or modify
    10   * it under the terms of the GNU Lesser Public License as published by
    11   * the Free Software Foundation; either version 2.1 of the License, or
    12   * any later version.
    13   *
    14   * Heritrix is distributed in the hope that it will be useful,
    15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    17   * GNU Lesser Public License for more details.
    18   *
    19   * You should have received a copy of the GNU Lesser Public License
    20   * along with Heritrix; if not, write to the Free Software
    21   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    22   */
    23  package org.archive.crawler.url.canonicalize;
    24
    25  import org.apache.commons.httpclient.URIException;
    26  import org.archive.net.UURIFactory;
    27
    28  import junit.framework.TestCase;
    29
    30  /***
    31   * Test we strip trailing question mark.
    32   * @author stack
    33   * @version $Date: 2006-09-01 22:44:50 +0000 (Fri, 01 Sep 2006) $, $Revision: 4591 $
    34   */
    35  public class FixupQueryStrTest extends TestCase {
    36
    37      public void testCanonicalize() throws URIException {
    38          final String url = "http://WWW.aRchive.Org/index.html";
    39          assertTrue("Mangled " + url,
    40              url.equals((new FixupQueryStr("test")).
    41                  canonicalize(url, UURIFactory.getInstance(url))));
    42          assertTrue("Failed to strip '?' " + url,
    43              url.equals((new FixupQueryStr("test")).
    44                  canonicalize(url + "?", UURIFactory.getInstance(url))));
    45          assertTrue("Failed to strip '?&' " + url,
    46              url.equals((new FixupQueryStr("test")).
    47                  canonicalize(url + "?&", UURIFactory.getInstance(url))));
    48          assertTrue("Failed to strip extraneous '&' " + url,
    49              (url + "?x=y").equals((new FixupQueryStr("test")).
    50                  canonicalize(url + "?&x=y", UURIFactory.getInstance(url))));
    51          String tmp = url + "?x=y";
    52          assertTrue("Mangled x=y " + tmp,
    53              tmp.equals((new FixupQueryStr("test")).
    54                  canonicalize(tmp, UURIFactory.getInstance(url))));
    55          String tmp2 = tmp + "&";
    56          String fixed = new FixupQueryStr("test").
    57              canonicalize(tmp2, UURIFactory.getInstance(url));
    58          assertTrue("Mangled " + tmp2, tmp.equals(fixed));
    59      }
    60  }