未验证 提交 c3c01c03 编写于 作者: J Jesse Glick

RelativePathTest

上级 21ea7956
package hudson
import hudson.model.AbstractDescribableImpl
import hudson.model.Describable
import hudson.model.Descriptor
import hudson.util.ListBoxModel
import org.jvnet.hudson.test.Issue
import org.jvnet.hudson.test.HudsonTestCase
import org.jvnet.hudson.test.TestExtension
import org.kohsuke.stapler.QueryParameter
/**
* Regression test for JENKINS-18776
*
* @author Kohsuke Kawaguchi
*/
class RelativePathTest extends HudsonTestCase implements Describable<RelativePathTest> {
@Issue("JENKINS-18776")
void testRelativePath() {
// I was having trouble causing annotation processing on test stubs
jenkins.getDescriptorOrDie(RelativePathTest.class)
jenkins.getDescriptorOrDie(Model.class)
createWebClient().goTo("/self/");
assert jenkins.getDescriptorOrDie(Model.class).touched
}
String getName() {
return "Alice";
}
Model getModel() {
return new Model();
}
DescriptorImpl getDescriptor() {
return jenkins.getDescriptorOrDie(getClass());
}
@TestExtension
static class DescriptorImpl extends Descriptor<RelativePathTest> {}
static class Model extends AbstractDescribableImpl<Model> {
@TestExtension
static class DescriptorImpl extends Descriptor<Model> {
boolean touched;
ListBoxModel doFillAbcItems(@RelativePath("..") @QueryParameter String name) {
assert name=="Alice";
touched = true;
return new ListBoxModel().add("foo").add("bar")
}
}
}
}
package hudson;
import hudson.model.AbstractDescribableImpl;
import hudson.model.Describable;
import hudson.model.Descriptor;
import hudson.util.ListBoxModel;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.TestExtension;
import org.kohsuke.stapler.QueryParameter;
public class RelativePathTest extends HudsonTestCase implements Describable<RelativePathTest> {
@Issue("JENKINS-18776")
public void testRelativePath() throws Exception {
// I was having trouble causing annotation processing on test stubs
// jenkins.getDescriptorOrDie(RelativePathTest.class);
// jenkins.getDescriptorOrDie(Model.class);
createWebClient().goTo("/self/");
assertTrue(((Model.DescriptorImpl) jenkins.getDescriptorOrDie(Model.class)).touched);
}
@Override // TODO this is horrible, should change the property here and in @QueryParameter and in RelativePathTest/index.groovy to, say, personName
public String getName() {
return "Alice";
}
public Model getModel() {
return new Model();
}
@Override // TODO would suffice to extend AbstractDescribableImpl
public DescriptorImpl getDescriptor() {
return (DescriptorImpl) jenkins.getDescriptorOrDie(getClass());
}
@TestExtension
public static class DescriptorImpl extends Descriptor<RelativePathTest> {}
public static class Model extends AbstractDescribableImpl<Model> {
@TestExtension
public static class DescriptorImpl extends Descriptor<Model> {
boolean touched;
public ListBoxModel doFillAbcItems(@RelativePath("..") @QueryParameter String name) {
assertEquals("Alice", name);
touched = true;
return new ListBoxModel().add("foo").add("bar");
}
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册