| /* |
| * 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.tools.ant.taskdefs.optional.junit; |
| |
| import static org.junit.Assert.assertArrayEquals; |
| import static org.junit.Assert.fail; |
| |
| import org.junit.Test; |
| |
| /** |
| * |
| * @author Marian Petras |
| */ |
| public class BatchTestTest { |
| |
| @Test |
| public void testParseTestMethodNamesList() { |
| try { |
| JUnitTest.parseTestMethodNamesList(null); |
| fail("IllegalArgumentException expected when the param is <null>"); |
| } catch (IllegalArgumentException ex) { |
| //this is an expected exception |
| } |
| |
| assertArrayEquals(new String[0], JUnitTest.parseTestMethodNamesList("")); |
| assertArrayEquals(new String[0], JUnitTest.parseTestMethodNamesList(" ")); |
| assertArrayEquals(new String[0], JUnitTest.parseTestMethodNamesList(" ")); |
| |
| checkParseCausesIAE(","); |
| checkParseCausesIAE(" ,"); |
| checkParseCausesIAE(", "); |
| checkParseCausesIAE(" , "); |
| checkParseCausesIAE(",a"); |
| checkParseCausesIAE(" ,a"); |
| checkParseCausesIAE(" ,a"); |
| checkParseCausesIAE(" , a"); |
| checkParseCausesIAE(" ,a "); |
| checkParseCausesIAE(" ,a ,"); |
| checkParseCausesIAE("ab,,cd"); |
| checkParseCausesIAE("ab, ,cd"); |
| checkParseCausesIAE("ab, ,cd"); |
| checkParseCausesIAE("ab, ,cd,"); |
| checkParseCausesIAE(",ab, ,cd,"); |
| |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc ")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList(" abc")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList(" abc ")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc ")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc,")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc, ")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc ,")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc , ")); |
| assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList(" abc ,")); |
| |
| /* legal Java identifiers: */ |
| assertArrayEquals(new String[] {"a"}, JUnitTest.parseTestMethodNamesList("a")); |
| assertArrayEquals(new String[] {"a1"}, JUnitTest.parseTestMethodNamesList("a1")); |
| assertArrayEquals(new String[] {"a$"}, JUnitTest.parseTestMethodNamesList("a$")); |
| assertArrayEquals(new String[] {"a$1"}, JUnitTest.parseTestMethodNamesList("a$1")); |
| assertArrayEquals(new String[] {"_bc"}, JUnitTest.parseTestMethodNamesList("_bc")); |
| assertArrayEquals(new String[] {"___"}, JUnitTest.parseTestMethodNamesList("___")); |
| |
| /* illegal Java identifiers: */ |
| checkParseCausesIAE("1"); |
| checkParseCausesIAE("1a"); |
| checkParseCausesIAE("1ab"); |
| checkParseCausesIAE("1abc"); |
| checkParseCausesIAE("1abc d"); |
| checkParseCausesIAE("1abc de"); |
| checkParseCausesIAE("1abc def"); |
| checkParseCausesIAE("1abc def,"); |
| checkParseCausesIAE(",1abc def"); |
| |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc,def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc,def,")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc,def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc, def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc, def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc ,def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc ,def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc , def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc , def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc,def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc,def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc, def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc, def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc ,def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc ,def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc , def")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc , def ")); |
| assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc , def ,")); |
| } |
| |
| private static void checkParseCausesIAE(String param) { |
| try { |
| JUnitTest.parseTestMethodNamesList(param); |
| fail("IllegalArgumentException expected when the param is \"" + param + '"'); |
| } catch (IllegalArgumentException ex) { |
| //this is an expected exception |
| } |
| } |
| |
| } |