blob: 51ae232b2711c9cfb665c0ba268f8ba4a5fd2ec6 [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.catalina.startup;
import static org.junit.Assert.assertArrayEquals;
import org.junit.Test;
public class TestBootstrap {
@Test
public void testEmptyNonQuoted() {
doTest("");
}
@Test
public void testOneNonQuoted() {
doTest("a", "a");
}
@Test
public void testTwoNonQuoted01() {
doTest("a,b", "a", "b");
}
@Test
public void testTwoNonQuoted02() {
doTest("a,,b", "a", "b");
}
@Test
public void testTwoNonQuoted03() {
doTest(",a,b", "a", "b");
}
@Test
public void testTwoNonQuoted04() {
doTest("a,b,", "a", "b");
}
@Test
public void testThreeNonQuoted() {
doTest("a,b,c", "a", "b", "c");
}
@Test
public void testEmptyQuoted() {
doTest("\"\"");
}
@Test
public void testOneQuoted01() {
doTest("\"a\"", "a");
}
@Test
public void testOneQuoted02() {
doTest("\"aaa\"", "aaa");
}
@Test
public void testOneQuoted03() {
doTest("\"a,aa\"", "a,aa");
}
@Test
public void testOneQuoted04() {
doTest("\",aaa\"", ",aaa");
}
@Test
public void testOneQuoted05() {
doTest("\"aaa,\"", "aaa,");
}
@Test
public void testTwoQuoted01() {
doTest("\"aaa\",bbb", "aaa", "bbb");
}
@Test
public void testTwoQuoted02() {
doTest("\"a,aa\",bbb", "a,aa", "bbb");
}
@Test
public void testTwoQuoted03() {
doTest("\"aaa\",\"bbb\"", "aaa", "bbb");
}
@Test
public void testTwoQuoted04() {
doTest("\"aaa\",\",bbb\"", "aaa", ",bbb");
}
@Test
public void testTwoQuoted05() {
doTest("aaa,\"bbb,\"", "aaa", "bbb,");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes01() {
doTest("\"", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes02() {
doTest("\"aaa", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes03() {
doTest("aaa\"", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes04() {
doTest("a\"a", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes05() {
doTest("b,\"", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes06() {
doTest("b,\"aaa", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes07() {
doTest("b,aaa\"", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes08() {
doTest("b,a\"a", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes09() {
doTest("\",b", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes10() {
doTest("\"aaa,b", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes11() {
doTest("aaa\",b", "ignored");
}
@Test(expected=IllegalArgumentException.class)
public void testUnbalancedQuotes12() {
doTest("a\"a,b", "ignored");
}
private void doTest(String input, String... expected) {
String[] result = Bootstrap.getPaths(input);
assertArrayEquals(expected, result);
}
}