1 package org.apache.maven.shared.filtering;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.io.FileInputStream;
24 import java.util.ArrayList;
25 import java.util.Collections;
26 import java.util.List;
27 import java.util.Properties;
28
29 import org.apache.maven.model.Resource;
30 import org.codehaus.plexus.PlexusTestCase;
31 import org.codehaus.plexus.util.FileUtils;
32 import org.codehaus.plexus.util.IOUtil;
33
34
35
36
37
38
39
40 public class MuliLinesMavenResourcesFilteringTest
41 extends PlexusTestCase
42 {
43
44 File outputDirectory = new File( getBasedir(), "target/MuliLinesMavenResourcesFilteringTest" );
45
46 protected void setUp()
47 throws Exception
48 {
49 super.setUp();
50 if ( outputDirectory.exists() )
51 {
52 FileUtils.forceDelete( outputDirectory );
53 }
54 outputDirectory.mkdirs();
55 }
56
57
58
59
60
61 public void testFilteringTokenOnce()
62 throws Exception
63 {
64 File baseDir = new File( "c:\\foo\\bar" );
65 StubMavenProject mavenProject = new StubMavenProject( baseDir );
66 mavenProject.setVersion( "1.0" );
67 mavenProject.setGroupId( "org.apache" );
68 mavenProject.setName( "test project" );
69
70 Properties projectProperties = new Properties();
71 projectProperties.put( "foo", "bar" );
72 projectProperties.put( "java.version", "zloug" );
73 mavenProject.setProperties( projectProperties );
74 MavenResourcesFiltering mavenResourcesFiltering = (MavenResourcesFiltering) lookup( MavenResourcesFiltering.class.getName() );
75
76 String unitFilesDir = getBasedir() + "/src/test/units-files/MRESOURCES-104";
77
78 Resource resource = new Resource();
79 List resources = new ArrayList();
80 resources.add( resource );
81 resource.setDirectory( unitFilesDir );
82 resource.setFiltering( true );
83
84 List filtersFile = new ArrayList();
85 filtersFile.add( getBasedir() + "/src/test/units-files/MRESOURCES-104/test.properties" );
86
87 List nonFilteredFileExtensions = Collections.singletonList( "gif" );
88
89 MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution( resources, outputDirectory,
90 mavenProject, "UTF-8",
91 filtersFile,
92 nonFilteredFileExtensions,
93 new StubMavenSession() );
94 mavenResourcesExecution.setUseDefaultFilterWrappers( true );
95
96
97 mavenResourcesFiltering.filterResources( mavenResourcesExecution );
98
99 Properties result = new Properties();
100 FileInputStream in = null;
101 try
102 {
103 in = new FileInputStream( new File( outputDirectory, "test.properties" ) );
104 result.load( in );
105 }
106 finally
107 {
108 IOUtil.close( in );
109 }
110
111 System.out.println("properties " + result.toString());
112
113
114
115 assertEquals( "1.0", result.get( "foo" ) );
116 assertEquals( "1.0", result.get( "bar" ) );
117 assertEquals( "foo@bar.com", result.get( "email" ) );
118 }
119
120 }