GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / test / groovy / org / codehaus / groovy / grails / validation / ConstraintMessageTests.groovy
blob93120e501deb2265158a2172a71aa1b6da83af5c
1 package org.codehaus.groovy.grails.validation
3 import junit.framework.TestCase
4 import org.springframework.validation.Errors
5 import org.springframework.validation.BeanPropertyBindingResult
7 class ConstraintMessageTests extends GroovyTestCase {
9 def testProperty
11 public void testMessageCodeOrder() {
12 Constraint c = new TestConstraint()
13 c.setOwningClass(this.class)
14 c.setPropertyName("testProperty")
15 def errors = new BeanPropertyBindingResult(this, "TestObjectName");
16 String[] codes = ['test']
17 Object[] values = []
18 c.rejectValueWithDefaultMessage(this, errors, 'default.message', codes, values);
19 assertArraysEqual([
20 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.TestConstraint.error.TestObjectName.testProperty',
21 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.TestConstraint.error.testProperty',
22 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.TestConstraint.error.java.lang.Object',
23 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.TestConstraint.error',
24 'constraintMessageTests.testProperty.TestConstraint.error.TestObjectName.testProperty',
25 'constraintMessageTests.testProperty.TestConstraint.error.testProperty',
26 'constraintMessageTests.testProperty.TestConstraint.error.java.lang.Object',
27 'constraintMessageTests.testProperty.TestConstraint.error',
28 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.test.TestObjectName.testProperty',
29 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.test.testProperty',
30 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.test.java.lang.Object',
31 'org.codehaus.groovy.grails.validation.ConstraintMessageTests.testProperty.test',
32 'constraintMessageTests.testProperty.test.TestObjectName.testProperty',
33 'constraintMessageTests.testProperty.test.testProperty',
34 'constraintMessageTests.testProperty.test.java.lang.Object',
35 'constraintMessageTests.testProperty.test',
36 'test.TestObjectName.testProperty',
37 'test.testProperty',
38 'test.java.lang.Object',
39 'test'] as String[], errors.getFieldError().getCodes())
43 private void assertArraysEqual( Object[] left, Object[] right ) {
44 assertEquals( left.length, right.length );
45 for( int i = 0; i < left.length; i++ ) {
46 Object l = left[i]
47 Object r = right[i]
48 assertEquals( l, r );
54 class TestConstraint extends AbstractConstraint {
55 void processValidate(Object target, Object propertyValue, Errors errors) {
56 super.rejectValue(target, errors, 'default.message', 'testconstraint', []);
59 public boolean supports(Class type) {
60 return true;
63 public String getName() {
64 return "TestConstraint"