package org.codehaus.mojo.versions.api; import junit.framework.TestCase; import org.codehaus.mojo.versions.rewriting.ModifiedPomXMLEventReader; import org.codehaus.stax2.XMLInputFactory2; import javax.xml.stream.XMLInputFactory; import java.io.File; import java.net.URL; /** * Tets the methods of {@link PomHelper}. */ public class PomHelperTest extends TestCase { /** * Tests what happens when changing a long property substitution pattern, e.g. * <a href="http://jira.codehaus.org/browse/MVERSIONS-44">MVERSIONS-44</a> * * @throws Exception if the test fails. */ public void testLongProperties() throws Exception { URL url = getClass().getResource( "PomHelperTest.testLongProperties.pom.xml" ); StringBuffer input = PomHelper.readXmlFile( new File( url.getPath() ) ); XMLInputFactory inputFactory = XMLInputFactory2.newInstance(); inputFactory.setProperty( XMLInputFactory2.P_PRESERVE_LOCATION, Boolean.TRUE ); ModifiedPomXMLEventReader pom = new ModifiedPomXMLEventReader( input, inputFactory ); String oldVersion = PomHelper.getProjectVersion( pom ); String newVersion = "1"; assertTrue( "The pom has been modified", PomHelper.setProjectVersion( pom, newVersion ) ); assertEquals( newVersion, PomHelper.getProjectVersion( pom ) ); assertNotSame( oldVersion, newVersion ); } }