Index: PropertyUtilsTest.java =================================================================== --- PropertyUtilsTest.java (revision 1065498) +++ PropertyUtilsTest.java (working copy) @@ -111,4 +111,39 @@ assertEquals( "realVersion", interpolated.get( "bar" ) ); assertEquals( "none filtered", interpolated.get( "none" ) ); } + + public void testFilterAlreadyKnownProperies() + throws Exception + { + File filterFileA = new File( testDirectory, "filterFileA.properties" ); + File filterFileB = new File( testDirectory, "filterFileB.properties" ); + + if ( filterFileA.exists() ) + { + filterFileA.delete(); + } + + if ( filterFileB.exists() ) + { + filterFileB.delete(); + } + + filterFileA.createNewFile(); + FileWriter writer = new FileWriter( filterFileA ); + + writer.write( "untat_na_damgo=gani_man\n" ); + writer.flush(); + writer.close(); + + filterFileB.createNewFile(); + writer = new FileWriter( filterFileB ); + + writer.write( "key=${untat_na_damgo}\n" ); + writer.flush(); + writer.close(); + + Properties baseProp = PropertyUtils.loadPropertyFile( filterFileA, false, false ); + Properties filtered = PropertyUtils.loadPropertyFile( filterFileB, baseProp ); + assertTrue( filtered.getProperty( "key" ).equals( "gani_man" ) ); + } }