01: /* FixupQueryStrTest
02: *
03: * Created on Oct 6, 2004
04: *
05: * Copyright (C) 2004 Internet Archive.
06: *
07: * This file is part of the Heritrix web crawler (crawler.archive.org).
08: *
09: * 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, url.equals((new FixupQueryStr(
40: "test"))
41: .canonicalize(url, UURIFactory.getInstance(url))));
42: assertTrue("Failed to strip '?' " + url, url
43: .equals((new FixupQueryStr("test")).canonicalize(url
44: + "?", UURIFactory.getInstance(url))));
45: assertTrue("Failed to strip '?&' " + url, url
46: .equals((new FixupQueryStr("test")).canonicalize(url
47: + "?&", UURIFactory.getInstance(url))));
48: assertTrue("Failed to strip extraneous '&' " + url,
49: (url + "?x=y").equals((new FixupQueryStr("test"))
50: .canonicalize(url + "?&x=y", UURIFactory
51: .getInstance(url))));
52: String tmp = url + "?x=y";
53: assertTrue("Mangled x=y " + tmp, tmp.equals((new FixupQueryStr(
54: "test"))
55: .canonicalize(tmp, UURIFactory.getInstance(url))));
56: String tmp2 = tmp + "&";
57: String fixed = new FixupQueryStr("test").canonicalize(tmp2,
58: UURIFactory.getInstance(url));
59: assertTrue("Mangled " + tmp2, tmp.equals(fixed));
60: }
61: }
|