package org.ops4j.pax.url.mvn.internal.config; import static org.junit.Assert.*; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import org.junit.Test; import org.ops4j.pax.url.mvn.internal.config.MavenRepositoryURL; public class MavenRepositoryURLTest { @Test public void testMavenRepositoryURL() throws MalformedURLException { File localrepo = new File( "my dir/repository" ).getAbsoluteFile(); String uri = localrepo.toURI().toASCIIString(); MavenRepositoryURL mavenRepo = new MavenRepositoryURL( uri + "@id=repository1" ); assertEquals( localrepo, mavenRepo.getFile() ); localrepo = new File( "myédir/repository" ).getAbsoluteFile(); uri = localrepo.toURI().toASCIIString(); mavenRepo = new MavenRepositoryURL( uri + "@id=repository1" ); assertEquals( localrepo, mavenRepo.getFile() ); String spec = "file:repository1/@id=repository1"; mavenRepo = new MavenRepositoryURL( spec ); assertEquals( new File( "repository1/" ), mavenRepo.getFile() ); spec = "file:repositories/repository1/@id=repository1"; mavenRepo = new MavenRepositoryURL( spec ); assertEquals( new File( "repositories/repository1/" ), mavenRepo.getFile() ); spec = "file:somewhere/localrepository\\"; mavenRepo = new MavenRepositoryURL( spec + "@id=repository1" ); assertEquals( new File( "somewhere/localrepository/" ), mavenRepo.getFile() ); assertEquals( new URL( spec ), mavenRepo.getURL() ); spec = "file:repository1\\"; mavenRepo = new MavenRepositoryURL( spec + "@id=repository1" ); assertEquals( new File( "repository1/" ), mavenRepo.getFile() ); assertEquals( new URL( spec ), mavenRepo.getURL() ); spec = "file:somewhere/localrepository%5C"; mavenRepo = new MavenRepositoryURL( spec + "@id=repository1" ); assertEquals( new URL( spec + "/" ), mavenRepo.getURL() ); spec = "file:repository1%5C"; mavenRepo = new MavenRepositoryURL( spec + "@id=repository1" ); assertEquals( new URL( spec + "/" ), mavenRepo.getURL() ); spec = "file:r%C3%A9positories%20/r%C3%A9pository1"; mavenRepo = new MavenRepositoryURL( spec + "@id=repository1" ); File expected = new File( "répositories /répository1/" ); assertEquals( expected, mavenRepo.getFile() ); } }