|
|
|
@ -43,6 +43,7 @@
|
|
|
|
|
package org.eclipse.jgit.gitrepo; |
|
|
|
|
|
|
|
|
|
import static org.eclipse.jgit.lib.Constants.CHARSET; |
|
|
|
|
import static org.junit.Assert.assertEquals; |
|
|
|
|
import static org.junit.Assert.assertTrue; |
|
|
|
|
import static org.junit.Assert.fail; |
|
|
|
|
|
|
|
|
@ -51,6 +52,8 @@ import java.io.IOException;
|
|
|
|
|
import java.net.URI; |
|
|
|
|
import java.util.HashSet; |
|
|
|
|
import java.util.Set; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
import java.util.stream.Stream; |
|
|
|
|
|
|
|
|
|
import org.junit.Test; |
|
|
|
|
import org.xml.sax.SAXException; |
|
|
|
@ -145,6 +148,29 @@ public class ManifestParserTest {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void testRemoveProject() throws Exception { |
|
|
|
|
StringBuilder xmlContent = new StringBuilder(); |
|
|
|
|
xmlContent.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n") |
|
|
|
|
.append("<manifest>") |
|
|
|
|
.append("<remote name=\"remote1\" fetch=\".\" />") |
|
|
|
|
.append("<default revision=\"master\" remote=\"remote1\" />") |
|
|
|
|
.append("<project path=\"foo\" name=\"foo\" />") |
|
|
|
|
.append("<project path=\"bar\" name=\"bar\" />") |
|
|
|
|
.append("<remove-project name=\"foo\" />") |
|
|
|
|
.append("<project path=\"foo\" name=\"baz\" />") |
|
|
|
|
.append("</manifest>"); |
|
|
|
|
|
|
|
|
|
ManifestParser parser = new ManifestParser(null, null, "master", |
|
|
|
|
"https://git.google.com/", null, null); |
|
|
|
|
parser.read(new ByteArrayInputStream( |
|
|
|
|
xmlContent.toString().getBytes(CHARSET))); |
|
|
|
|
|
|
|
|
|
assertEquals(Stream.of("bar", "baz").collect(Collectors.toSet()), |
|
|
|
|
parser.getProjects().stream().map(RepoProject::getName) |
|
|
|
|
.collect(Collectors.toSet())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void testNormalize(String in, String want) { |
|
|
|
|
URI got = ManifestParser.normalizeEmptyPath(URI.create(in)); |
|
|
|
|
if (!got.toString().equals(want)) { |
|
|
|
|