/** * This file is part of muCommander, http://www.mucommander.com * Copyright (C) 2002-2016 Maxence Bernard * * muCommander is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * muCommander is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.mucommander.commons.file.filter; import org.testng.annotations.Test; /** * Tests the {@link ExtensionFilenameFilter} class. * @author Nicolas Rinaudo */ public class ExtensionFilenameFilterTest { /** Filter uses for all tests. */ private static ExtensionFilenameFilter filter = new ExtensionFilenameFilter(new String[] {".zip", ".jar", ".war", ".wal", ".wmz", ".xpi", ".ear", ".sar", ".odt", ".ods", ".odp", ".odg", ".odf"}); /** * Runs a set of tests. * @param caseSensitive whether to test case-sensitive filters or not. */ private void test(boolean caseSensitive) { filter.setCaseSensitive(caseSensitive); assert filter.accept("test.zip"); assert filter.accept("test.jar"); assert filter.accept("test.war"); assert filter.accept("test.wal"); assert filter.accept("test.wmz"); assert filter.accept("test.xpi"); assert filter.accept("test.ear"); assert filter.accept("test.sar"); assert filter.accept("test.odt"); assert filter.accept("test.ods"); assert filter.accept("test.odp"); assert filter.accept("test.odg"); assert filter.accept("test.odf"); assert filter.accept("test.ZIP") != caseSensitive; assert filter.accept("test.JAR") != caseSensitive; assert filter.accept("test.WAR") != caseSensitive; assert filter.accept("test.WAL") != caseSensitive; assert filter.accept("test.WMZ") != caseSensitive; assert filter.accept("test.XPI") != caseSensitive; assert filter.accept("test.EAR") != caseSensitive; assert filter.accept("test.SAR") != caseSensitive; assert filter.accept("test.ODT") != caseSensitive; assert filter.accept("test.ODS") != caseSensitive; assert filter.accept("test.ODP") != caseSensitive; assert filter.accept("test.ODG") != caseSensitive; assert filter.accept("test.ODF") != caseSensitive; assert !filter.accept("test.tar"); assert !filter.accept("test.tar.gz"); assert !filter.accept("test.tgz"); assert !filter.accept("test.tar.bz2"); assert !filter.accept("test.tbz2"); assert !filter.accept("test.gz"); assert !filter.accept("test.bz2"); assert !filter.accept("test.iso"); assert !filter.accept("test.nrg"); assert !filter.accept("test.a"); assert !filter.accept("test.ar"); assert !filter.accept("test.deb"); assert !filter.accept("test.lst"); assert !filter.accept("test"); assert !filter.accept(""); } /** * Tests case-sensitive filtering. */ @Test public void testCaseSensitive() { test(true); } /** * Tests case-insensitive filtering. */ @Test public void testCaseInsensitive() { test(false); } }