Skip to content

Commit

Permalink
Merge pull request #226 from ajoberstar/consumer
Browse files Browse the repository at this point in the history
Generate correct Consumer type for ops
  • Loading branch information
ajoberstar authored Apr 20, 2018
2 parents d289c5f + 29f8e96 commit 880e93c
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ private MethodNode makeMapMethod(ClassNode targetClass, String opName, ClassNode

private MethodNode makeConsumerMethod(ClassNode targetClass, String opName, ClassNode opClass, ClassNode opReturn, boolean isStatic) {
ClassNode parmType = classFromType(Consumer.class);
GenericsType[] generics = new GenericsType[] {new GenericsType(opReturn)};
GenericsType[] generics = new GenericsType[] {new GenericsType(opClass)};
parmType.setGenericsTypes(generics);
Parameter[] parms = new Parameter[] {new Parameter(parmType, "arg")};

Expand Down
32 changes: 32 additions & 0 deletions src/test/groovy/org/ajoberstar/grgit/operation/GenericOpTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package org.ajoberstar.grgit.operation;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
import org.ajoberstar.grgit.Grgit;

public class GenericOpTest {
@Rule
public TemporaryFolder tempDir = new TemporaryFolder();

@Test
public void consumerOperationWorks() throws IOException {
File dir = tempDir.newFolder();
Grgit grgit = Grgit.init(op -> {
op.setDir(dir);
});
grgit.add(op -> {
op.setPatterns(new HashSet<>(Arrays.asList(".")));
});
grgit.commit(op -> {
op.setMessage("First commit");
});
assertEquals(1, grgit.log().size());
grgit.close();
}
}

0 comments on commit 880e93c

Please sign in to comment.