blob: fb0755673992589c96ca6a53312e2a641241aa1a [file] [log] [blame]
/*******************************************************************************
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package org.apache.nutch.util;
import org.apache.nutch.util.TableUtil;
import org.junit.Test;
import static org.junit.Assert.*;
public class TestTableUtil {
String urlString1 = "http://foo.com/";
String urlString2 = "http://foo.com:8900/";
String urlString3 = "ftp://bar.baz.com/";
String urlString4 = "http://bar.baz.com:8983/to/index.html?a=b&c=d";
String urlString5 = "http://foo.com?a=/a/b&c=0";
String urlString5rev = "http://foo.com/?a=/a/b&c=0";
String urlString6 = "http://foo.com";
String urlString7 = "file:///var/www/index.html";
String reversedUrlString1 = "com.foo:http/";
String reversedUrlString2 = "com.foo:http:8900/";
String reversedUrlString3 = "com.baz.bar:ftp/";
String reversedUrlString4 = "com.baz.bar:http:8983/to/index.html?a=b&c=d";
String reversedUrlString5 = "com.foo:http/?a=/a/b&c=0";
String reversedUrlString6 = "com.foo:http";
String reversedUrlString7 = ":file/var/www/index.html";
@Test
public void testReverseUrl() throws Exception {
assertReverse(urlString1, reversedUrlString1);
assertReverse(urlString2, reversedUrlString2);
assertReverse(urlString3, reversedUrlString3);
assertReverse(urlString4, reversedUrlString4);
assertReverse(urlString5, reversedUrlString5);
assertReverse(urlString5, reversedUrlString5);
assertReverse(urlString6, reversedUrlString6);
assertReverse(urlString7, reversedUrlString7);
}
@Test
public void testUnreverseUrl() throws Exception {
assertUnreverse(reversedUrlString1, urlString1);
assertUnreverse(reversedUrlString2, urlString2);
assertUnreverse(reversedUrlString3, urlString3);
assertUnreverse(reversedUrlString4, urlString4);
assertUnreverse(reversedUrlString5, urlString5rev);
assertUnreverse(reversedUrlString6, urlString6);
assertUnreverse(reversedUrlString7, urlString7);
}
private static void assertReverse(String url, String expectedReversedUrl)
throws Exception {
String reversed = TableUtil.reverseUrl(url);
assertEquals(expectedReversedUrl, reversed);
}
private static void assertUnreverse(String reversedUrl, String expectedUrl) {
String unreversed = TableUtil.unreverseUrl(reversedUrl);
assertEquals(expectedUrl, unreversed);
}
}