提交 3f2d003b 编写于 作者: A Andrew Kiellor

Move check into ChoiceParameterDefinition.DescriptorImpl.

上级 d244b6b6
package hudson.model;
import hudson.util.FormValidation;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.export.Exported;
......@@ -96,6 +98,17 @@ public class ChoiceParameterDefinition extends SimpleParameterDefinition {
public String getHelpFile() {
return "/help/parameter/choice.html";
}
/**
* Checks if parameterised build choices are valid.
*/
public FormValidation doCheckChoices(@QueryParameter String value) {
if (ChoiceParameterDefinition.areValidChoices(value)) {
return FormValidation.ok();
} else {
return FormValidation.error(Messages.ChoiceParameterDefinition_MissingChoices());
}
}
}
}
\ No newline at end of file
......@@ -3560,17 +3560,6 @@ public class Jenkins extends AbstractCIBase implements ModifiableTopLevelItemGro
return FormValidation.error(Messages.Hudson_ViewAlreadyExists(view));
}
/**
* Checks if parameterised build choices are valid.
*/
public FormValidation doCheckChoices(@QueryParameter String value) {
if (ChoiceParameterDefinition.areValidChoices(value)) {
return FormValidation.ok();
} else {
return FormValidation.error(Messages.ChoiceParameterDefinition_MissingChoices());
}
}
/**
* Serves static resources placed along with Jelly view files.
* <p>
......
......@@ -30,7 +30,7 @@ THE SOFTWARE.
<f:textbox name="parameter.name" value="${instance.name}" />
</f:entry>
<f:entry title="${%Choices}" help="/help/parameter/choice-choices.html">
<f:textarea checkUrl="'${rootURL}/checkChoices?value='+encodeURIComponent(this.value)" name="parameter.choices" value="${instance.choicesText}" />
<f:textarea checkUrl="'${rootURL}/descriptorByName/hudson.model.ChoiceParameterDefinition/checkChoices?value='+encodeURIComponent(this.value)" name="parameter.choices" value="${instance.choicesText}" />
</f:entry>
<f:entry title="${%Description}" help="/help/parameter/description.html">
<f:textarea name="parameter.description" value="${instance.description}" />
......
package hudson.model;
import hudson.util.FormValidation;
import jenkins.model.Jenkins;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
......@@ -14,4 +17,12 @@ public class ChoiceParameterDefinitionTest {
assertTrue(ChoiceParameterDefinition.areValidChoices("abc\ndef"));
assertTrue(ChoiceParameterDefinition.areValidChoices("abc\r\ndef"));
}
@Test
public void testCheckChoices() throws Exception {
ChoiceParameterDefinition.DescriptorImpl descriptorImpl = new ChoiceParameterDefinition.DescriptorImpl();
assertEquals(FormValidation.Kind.OK, descriptorImpl.doCheckChoices("abc\ndef").kind);
assertEquals(FormValidation.Kind.ERROR, descriptorImpl.doCheckChoices("").kind);
}
}
......@@ -311,14 +311,6 @@ public class JenkinsTest extends HudsonTestCase {
}
}
@Test
public void testCheckChoices() throws Exception {
Jenkins jenkins = Jenkins.getInstance();
assertEquals(FormValidation.Kind.OK, jenkins.doCheckChoices("abc\ndef").kind);
assertEquals(FormValidation.Kind.ERROR, jenkins.doCheckChoices("").kind);
}
private String eval(WebClient wc) throws Exception {
WebRequestSettings req = new WebRequestSettings(new URL(wc.getContextPath() + "eval"), HttpMethod.POST);
req.setRequestBody("<j:jelly xmlns:j='jelly:core'>${1+2}</j:jelly>");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册