Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[FIXED JENKINS-34645] Serializable array iterator.
  • Loading branch information
jglick committed Aug 21, 2017
1 parent 459fe61 commit bc3c49e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
Expand Up @@ -29,6 +29,7 @@
import java.util.AbstractList;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.ConcurrentModificationException;
import java.util.Iterator;
Expand Down Expand Up @@ -97,6 +98,11 @@ public static <E> Iterator<E> iterator(Set<E> set) {
return new Itr<>(new ArrayList<>(set));
}

public static <E> Iterator<E> iterator(E[] array) {
// TODO as above
return new Itr<>(Arrays.asList(array));
}

private static final class ListItr<E> extends Itr<E> implements ListIterator<E> {
private static final long serialVersionUID = 1;
ListItr(List<E> list, int idx) {
Expand Down
Expand Up @@ -79,6 +79,17 @@ public class IteratorHackTest {
});
}

@Issue("JENKINS-34645")
@Test public void stringSplit() {
rr.addStep(new Statement() {
@Override public void evaluate() throws Throwable {
WorkflowJob p = rr.j.createProject(WorkflowJob.class, "p");
p.setDefinition(new CpsFlowDefinition("for (x in 'a;b'.split(';')) {sleep 1; echo(/running in $x/)}", true));
rr.j.assertLogContains("running in b", rr.j.buildAndAssertSuccess(p));
}
});
}

@Issue("JENKINS-27421")
@Test public void mapIterator() {
rr.addStep(new Statement() {
Expand Down

0 comments on commit bc3c49e

Please sign in to comment.