| /* |
| * 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.catalina.util; |
| |
| import org.junit.Assert; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| |
| public class TestContextName { |
| |
| private ContextName cn1; |
| private ContextName cn2; |
| private ContextName cn3; |
| private ContextName cn4; |
| private ContextName cn5; |
| private ContextName cn6; |
| private ContextName cn7; |
| private ContextName cn8; |
| private ContextName cn9; |
| private ContextName cn10; |
| private ContextName cn11; |
| private ContextName cn12; |
| private ContextName cn13; |
| private ContextName cn14; |
| private ContextName cn15; |
| private ContextName cn16; |
| private ContextName cn17; |
| private ContextName cn18; |
| private ContextName cn19; |
| private ContextName cn20; |
| private ContextName cn21; |
| private ContextName cn22; |
| |
| @Before |
| public void setUp() throws Exception { |
| cn1 = new ContextName(null, null); |
| cn2 = new ContextName("", null); |
| cn3 = new ContextName("/", null); |
| cn4 = new ContextName("/foo", null); |
| cn5 = new ContextName("/foo/bar", null); |
| cn6 = new ContextName(null, "A"); |
| cn7 = new ContextName("", "B"); |
| cn8 = new ContextName("/", "C"); |
| cn9 = new ContextName("/foo", "D"); |
| cn10 = new ContextName("/foo/bar", "E"); |
| cn11 = new ContextName("ROOT", false); |
| cn12 = new ContextName("foo", false); |
| cn13 = new ContextName("foo#bar", false); |
| cn14 = new ContextName("ROOT##A", false); |
| cn15 = new ContextName("foo##D", false); |
| cn16 = new ContextName("foo#bar##E", false); |
| cn17 = new ContextName("/ROOT", null); |
| cn18 = new ContextName("/ROOT#bar", false); |
| cn19 = new ContextName("/ROOT#bar##A", false); |
| cn20 = new ContextName("/ROOT##A", false); |
| cn21 = new ContextName("foo.war", false); |
| cn22 = new ContextName("foo.war", true); |
| } |
| |
| @Test |
| public void testGetBaseName() { |
| Assert.assertEquals("ROOT", cn1.getBaseName()); |
| Assert.assertEquals("ROOT", cn2.getBaseName()); |
| Assert.assertEquals("ROOT", cn3.getBaseName()); |
| Assert.assertEquals("foo", cn4.getBaseName()); |
| Assert.assertEquals("foo#bar", cn5.getBaseName()); |
| Assert.assertEquals("ROOT##A", cn6.getBaseName()); |
| Assert.assertEquals("ROOT##B", cn7.getBaseName()); |
| Assert.assertEquals("ROOT##C", cn8.getBaseName()); |
| Assert.assertEquals("foo##D", cn9.getBaseName()); |
| Assert.assertEquals("foo#bar##E", cn10.getBaseName()); |
| Assert.assertEquals("ROOT", cn11.getBaseName()); |
| Assert.assertEquals("foo", cn12.getBaseName()); |
| Assert.assertEquals("foo#bar", cn13.getBaseName()); |
| Assert.assertEquals("ROOT##A", cn14.getBaseName()); |
| Assert.assertEquals("foo##D", cn15.getBaseName()); |
| Assert.assertEquals("foo#bar##E", cn16.getBaseName()); |
| Assert.assertEquals("ROOT", cn17.getBaseName()); |
| Assert.assertEquals("ROOT#bar", cn18.getBaseName()); |
| Assert.assertEquals("ROOT#bar##A", cn19.getBaseName()); |
| Assert.assertEquals("ROOT##A", cn20.getBaseName()); |
| Assert.assertEquals("foo.war", cn21.getBaseName()); |
| Assert.assertEquals("foo", cn22.getBaseName()); |
| } |
| |
| @Test |
| public void testGetPath() { |
| Assert.assertEquals("", cn1.getPath()); |
| Assert.assertEquals("", cn2.getPath()); |
| Assert.assertEquals("", cn3.getPath()); |
| Assert.assertEquals("/foo", cn4.getPath()); |
| Assert.assertEquals("/foo/bar", cn5.getPath()); |
| Assert.assertEquals("", cn6.getPath()); |
| Assert.assertEquals("", cn7.getPath()); |
| Assert.assertEquals("", cn8.getPath()); |
| Assert.assertEquals("/foo", cn9.getPath()); |
| Assert.assertEquals("/foo/bar", cn10.getPath()); |
| Assert.assertEquals("", cn11.getPath()); |
| Assert.assertEquals("/foo", cn12.getPath()); |
| Assert.assertEquals("/foo/bar", cn13.getPath()); |
| Assert.assertEquals("", cn14.getPath()); |
| Assert.assertEquals("/foo", cn15.getPath()); |
| Assert.assertEquals("/foo/bar", cn16.getPath()); |
| Assert.assertEquals("", cn17.getPath()); |
| Assert.assertEquals("/ROOT/bar", cn18.getPath()); |
| Assert.assertEquals("/ROOT/bar", cn19.getPath()); |
| Assert.assertEquals("", cn20.getPath()); |
| Assert.assertEquals("/foo.war", cn21.getPath()); |
| Assert.assertEquals("/foo", cn22.getPath()); |
| } |
| |
| @Test |
| public void testGetVersion() { |
| Assert.assertEquals("", cn1.getVersion()); |
| Assert.assertEquals("", cn2.getVersion()); |
| Assert.assertEquals("", cn3.getVersion()); |
| Assert.assertEquals("", cn4.getVersion()); |
| Assert.assertEquals("", cn5.getVersion()); |
| Assert.assertEquals("A", cn6.getVersion()); |
| Assert.assertEquals("B", cn7.getVersion()); |
| Assert.assertEquals("C", cn8.getVersion()); |
| Assert.assertEquals("D", cn9.getVersion()); |
| Assert.assertEquals("E", cn10.getVersion()); |
| Assert.assertEquals("", cn11.getVersion()); |
| Assert.assertEquals("", cn12.getVersion()); |
| Assert.assertEquals("", cn13.getVersion()); |
| Assert.assertEquals("A", cn14.getVersion()); |
| Assert.assertEquals("D", cn15.getVersion()); |
| Assert.assertEquals("E", cn16.getVersion()); |
| Assert.assertEquals("", cn17.getVersion()); |
| Assert.assertEquals("", cn18.getVersion()); |
| Assert.assertEquals("A", cn19.getVersion()); |
| Assert.assertEquals("A", cn20.getVersion()); |
| Assert.assertEquals("", cn21.getVersion()); |
| Assert.assertEquals("", cn22.getVersion()); |
| } |
| |
| @Test |
| public void testGetName() { |
| Assert.assertEquals("", cn1.getName()); |
| Assert.assertEquals("", cn2.getName()); |
| Assert.assertEquals("", cn3.getName()); |
| Assert.assertEquals("/foo", cn4.getName()); |
| Assert.assertEquals("/foo/bar", cn5.getName()); |
| Assert.assertEquals("##A", cn6.getName()); |
| Assert.assertEquals("##B", cn7.getName()); |
| Assert.assertEquals("##C", cn8.getName()); |
| Assert.assertEquals("/foo##D", cn9.getName()); |
| Assert.assertEquals("/foo/bar##E", cn10.getName()); |
| Assert.assertEquals("", cn11.getName()); |
| Assert.assertEquals("/foo", cn12.getName()); |
| Assert.assertEquals("/foo/bar", cn13.getName()); |
| Assert.assertEquals("##A", cn14.getName()); |
| Assert.assertEquals("/foo##D", cn15.getName()); |
| Assert.assertEquals("/foo/bar##E", cn16.getName()); |
| Assert.assertEquals("", cn17.getName()); |
| Assert.assertEquals("/ROOT/bar", cn18.getName()); |
| Assert.assertEquals("/ROOT/bar##A", cn19.getName()); |
| Assert.assertEquals("##A", cn20.getName()); |
| Assert.assertEquals("/foo.war", cn21.getName()); |
| Assert.assertEquals("/foo", cn22.getName()); |
| } |
| |
| @Test |
| public void testGetDisplayName() { |
| Assert.assertEquals("/", cn1.getDisplayName()); |
| Assert.assertEquals("/", cn2.getDisplayName()); |
| Assert.assertEquals("/", cn3.getDisplayName()); |
| Assert.assertEquals("/foo", cn4.getDisplayName()); |
| Assert.assertEquals("/foo/bar", cn5.getDisplayName()); |
| Assert.assertEquals("/##A", cn6.getDisplayName()); |
| Assert.assertEquals("/##B", cn7.getDisplayName()); |
| Assert.assertEquals("/##C", cn8.getDisplayName()); |
| Assert.assertEquals("/foo##D", cn9.getDisplayName()); |
| Assert.assertEquals("/foo/bar##E", cn10.getDisplayName()); |
| Assert.assertEquals("/", cn11.getDisplayName()); |
| Assert.assertEquals("/foo", cn12.getDisplayName()); |
| Assert.assertEquals("/foo/bar", cn13.getDisplayName()); |
| Assert.assertEquals("/##A", cn14.getDisplayName()); |
| Assert.assertEquals("/foo##D", cn15.getDisplayName()); |
| Assert.assertEquals("/foo/bar##E", cn16.getDisplayName()); |
| Assert.assertEquals("/", cn17.getDisplayName()); |
| Assert.assertEquals("/ROOT/bar", cn18.getDisplayName()); |
| Assert.assertEquals("/ROOT/bar##A", cn19.getDisplayName()); |
| Assert.assertEquals("/##A", cn20.getDisplayName()); |
| Assert.assertEquals("/foo.war", cn21.getDisplayName()); |
| Assert.assertEquals("/foo", cn22.getDisplayName()); |
| } |
| |
| @Test |
| public void testConstructorString() { |
| doTestConstructorString(cn1); |
| doTestConstructorString(cn2); |
| doTestConstructorString(cn3); |
| doTestConstructorString(cn4); |
| doTestConstructorString(cn5); |
| doTestConstructorString(cn6); |
| doTestConstructorString(cn7); |
| doTestConstructorString(cn8); |
| doTestConstructorString(cn9); |
| doTestConstructorString(cn10); |
| doTestConstructorString(cn11); |
| doTestConstructorString(cn12); |
| doTestConstructorString(cn13); |
| doTestConstructorString(cn14); |
| doTestConstructorString(cn15); |
| doTestConstructorString(cn16); |
| doTestConstructorString(cn17); |
| doTestConstructorString(cn18); |
| doTestConstructorString(cn19); |
| doTestConstructorString(cn20); |
| doTestConstructorString(cn21); |
| doTestConstructorString(cn22); |
| } |
| |
| private void doTestConstructorString(ContextName src) { |
| doCompare(src, new ContextName(src.getBaseName(), false)); |
| doCompare(src, new ContextName(src.getDisplayName(), false)); |
| doCompare(src, new ContextName(src.getName(), false)); |
| } |
| |
| private void doCompare(ContextName cn1, ContextName cn2) { |
| Assert.assertEquals(cn1.getBaseName(), cn2.getBaseName()); |
| Assert.assertEquals(cn1.getDisplayName(), cn2.getDisplayName()); |
| Assert.assertEquals(cn1.getName(), cn2.getName()); |
| Assert.assertEquals(cn1.getPath(), cn2.getPath()); |
| Assert.assertEquals(cn1.getVersion(), cn2.getVersion()); |
| } |
| } |