001 /*
002 * Copyright 2002-2004 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005 * use this file except in compliance with the License. You may obtain a copy of
006 * the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013 * License for the specific language governing permissions and limitations under
014 * the License.
015 */
016 package org.springframework.richclient.filechooser;
017
018 import java.io.File;
019 import java.io.IOException;
020 import java.util.Arrays;
021
022 import junit.framework.TestCase;
023
024 /**
025 * Tests for DefaultFileFilter
026 *
027 * @author Peter De Bruycker
028 */
029 public class DefaultFileFilterTests extends TestCase {
030 public void testSetExtensionListInDescription() {
031 DefaultFileFilter filter = new DefaultFileFilter();
032 filter.addExtension("jpg");
033 filter.addExtension("gif");
034 filter.addExtension("bmp");
035
036 filter.setDescription("Image files");
037 assertEquals("Image files (*.jpg, *.gif, *.bmp)", filter.getDescription());
038
039 filter.setExtensionListInDescription(false);
040 assertEquals("Image files", filter.getDescription());
041 }
042
043 public void testGetDescription() {
044 DefaultFileFilter filter = new DefaultFileFilter();
045 filter.addExtension("jpg");
046 filter.addExtension("gif");
047 filter.addExtension("bmp");
048
049 assertEquals("(*.jpg, *.gif, *.bmp)", filter.getDescription());
050
051 // no extensions
052 filter = new DefaultFileFilter();
053 filter.setDescription("test");
054 assertEquals("test", filter.getDescription());
055 }
056
057 public void testExtensionsAreAddedLowerCase() {
058 DefaultFileFilter filter = new DefaultFileFilter();
059 filter.addExtension("BMP");
060 filter.addExtension("Txt");
061
062 assertEquals(Arrays.asList(new String[] { "bmp", "txt" }), filter.getExtensions());
063 }
064
065 public void testAcceptIsDoneLowerCase() {
066 DefaultFileFilter filter = new DefaultFileFilter();
067 filter.addExtension("BMP");
068
069 File bmpFile = new File("test.bmp");
070 assertTrue(filter.accept(bmpFile));
071 }
072
073 public void testAddExtension() {
074 DefaultFileFilter filter = new DefaultFileFilter();
075
076 filter.addExtension("jpg");
077 assertTrue(filter.getExtensions().contains("jpg"));
078
079 filter.addExtension("jpg");
080 assertEquals(1, filter.getExtensions().size());
081
082 filter.addExtension("*.gif");
083 assertTrue(filter.getExtensions().contains("gif"));
084 assertFalse(filter.getExtensions().contains("*.gif"));
085
086 filter.addExtension(".bmp");
087 assertTrue(filter.getExtensions().contains("bmp"));
088 assertFalse(filter.getExtensions().contains(".bmp"));
089 }
090
091 public void testAccept() {
092 DefaultFileFilter filter = new DefaultFileFilter();
093 filter.addExtension("jpg");
094 filter.addExtension("gif");
095 filter.addExtension("bmp");
096
097 assertTrue(filter.accept(new File("test.jpg")));
098 assertTrue(filter.accept(new File("test.gif")));
099 assertTrue(filter.accept(new File("test.bmp")));
100 assertFalse(filter.accept(new File("test.txt")));
101 }
102
103 public void testAcceptDirectory() throws IOException {
104 DefaultFileFilter filter = new DefaultFileFilter();
105
106 assertTrue("directories are always accepted", filter
107 .accept(File.createTempFile("test", "test").getParentFile()));
108 }
109 }