1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.util.file;
35
36 import java.nio.file.Files;
37 import java.nio.file.Path;
38 import java.nio.file.Paths;
39 import java.util.ArrayList;
40 import java.util.List;
41 import java.util.zip.ZipEntry;
42 import java.util.zip.ZipInputStream;
43
44 import fr.paris.lutece.test.LuteceTestCase;
45
46 public class FileUtilTest extends LuteceTestCase
47 {
48
49 public void testHasImageExtension( )
50 {
51 assertTrue( FileUtil.hasImageExtension( "temp.jpg" ) );
52 assertFalse( FileUtil.hasImageExtension( "temp.html" ) );
53 }
54
55 public void testHasHtmlExtension( )
56 {
57 assertFalse( FileUtil.hasHtmlExtension( "temp.jpg" ) );
58 assertTrue( FileUtil.hasHtmlExtension( "temp.html" ) );
59 }
60
61 public void testZipFiles( )
62 {
63 try
64 {
65 Path tempFolder = Paths.get( System.getProperty( "java.io.tmpdir" ) );
66
67 Path f1 = Paths.get( tempFolder.toFile( ).getAbsolutePath( ), "test1.txt" );
68 f1.toFile( ).createNewFile( );
69 Files.write( f1, "hello".getBytes( ) );
70 Path f2 = Paths.get( tempFolder.toFile( ).getAbsolutePath( ), "test2.txt" );
71 f2.toFile( ).createNewFile( );
72
73 Path zip = Paths.get( tempFolder.toFile( ).getAbsolutePath( ), "test.zip" );
74
75 FileUtil.zipFiles( zip, f1, f2 );
76
77 ZipInputStream zis = new ZipInputStream( Files.newInputStream( zip ) );
78
79 List<String> entries = new ArrayList<>( );
80 ZipEntry entry;
81 while ( ( entry = zis.getNextEntry( ) ) != null )
82 {
83 entries.add( entry.getName( ) );
84 }
85
86 assertEquals( 2, entries.size( ) );
87 assertTrue( entries.contains( "test1.txt" ) );
88 assertTrue( entries.contains( "test2.txt" ) );
89 Files.delete( f1 );
90 Files.delete( f2 );
91 Files.delete( zip );
92 }
93 catch( Exception e )
94 {
95 fail( e.getMessage( ) );
96 }
97 }
98
99 public void testNormalizeFileName( )
100 {
101 String input = "Test éèà:ô";
102 String res = FileUtil.normalizeFileName( input );
103 assertEquals( "test_eeao", res );
104 }
105 }