1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 }