// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fitnesse.wiki; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import fitnesse.testrunner.ClassPathBuilder; import org.junit.After; import org.junit.Before; import org.junit.Test; import util.FileUtil; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class WildcardTest { private File testDir; private static final String TEST_DIR = "testDir"; @Before public void setUp() throws Exception { deleteSampleFiles(); makeSampleFiles(); testDir = new File(TEST_DIR); } @After public void tearDown() throws Exception { deleteSampleFiles(); } @Test public void testJar() throws Exception { ClassPathBuilder.Wildcard wildcard = new ClassPathBuilder.Wildcard("*.jar"); File[] files = testDir.listFiles(wildcard); List<String> list = fileArrayToStringList(files); assertEquals(2, files.length); assertTrue(list.contains("one.jar")); assertTrue(list.contains("two.jar")); } @Test public void testDll() throws Exception { ClassPathBuilder.Wildcard wildcard = new ClassPathBuilder.Wildcard("*.dll"); File[] files = testDir.listFiles(wildcard); List<String> list = fileArrayToStringList(files); assertEquals(2, files.length); assertTrue(list.contains("one.dll")); assertTrue(list.contains("two.dll")); } @Test public void testOne() throws Exception { ClassPathBuilder.Wildcard wildcard = new ClassPathBuilder.Wildcard("one*"); File[] files = testDir.listFiles(wildcard); List<String> list = fileArrayToStringList(files); assertEquals(3, files.length); assertTrue(list.contains("oneA")); assertTrue(list.contains("one.jar")); assertTrue(list.contains("one.dll")); } @Test public void testAll() throws Exception { ClassPathBuilder.Wildcard wildcard = new ClassPathBuilder.Wildcard("*"); File[] files = testDir.listFiles(wildcard); assertEquals(6, files.length); } private List<String> fileArrayToStringList(File[] files) { List<String> list = new ArrayList<>(); for (File file : files) { list.add(file.getName()); } return list; } public static void makeSampleFiles() throws IOException { FileUtil.makeDir(TEST_DIR); FileUtil.createFile(TEST_DIR + "/one.jar", ""); FileUtil.createFile(TEST_DIR + "/two.jar", ""); FileUtil.createFile(TEST_DIR + "/one.dll", ""); FileUtil.createFile(TEST_DIR + "/two.dll", ""); FileUtil.createFile(TEST_DIR + "/oneA", ""); FileUtil.createFile(TEST_DIR + "/twoA", ""); } public static void deleteSampleFiles() throws IOException { FileUtil.deleteFileSystemDirectory(TEST_DIR); } }