You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AbsFieldValidatorsTest.java 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.vaadin.tests.server.component.abstractfield;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import static org.junit.Assert.assertNotNull;
  5. import static org.junit.Assert.assertTrue;
  6. import org.easymock.EasyMock;
  7. import org.junit.Test;
  8. import com.vaadin.data.Validator;
  9. import com.vaadin.ui.AbstractField;
  10. public class AbsFieldValidatorsTest {
  11. AbstractField<Object> field = new AbstractField<Object>() {
  12. @Override
  13. public Class getType() {
  14. return Object.class;
  15. }
  16. };
  17. Validator validator = EasyMock.createMock(Validator.class);
  18. Validator validator2 = EasyMock.createMock(Validator.class);
  19. @Test
  20. public void testAddValidator() {
  21. assertNotNull(field.getValidators());
  22. assertEquals(0, field.getValidators().size());
  23. field.addValidator(validator);
  24. assertEquals(1, field.getValidators().size());
  25. assertTrue(field.getValidators().contains(validator));
  26. field.addValidator(validator2);
  27. assertEquals(2, field.getValidators().size());
  28. assertTrue(field.getValidators().contains(validator));
  29. assertTrue(field.getValidators().contains(validator2));
  30. }
  31. @Test
  32. public void testRemoveValidator() {
  33. field.addValidator(validator);
  34. field.addValidator(validator2);
  35. field.removeValidator(validator);
  36. assertNotNull(field.getValidators());
  37. assertEquals(1, field.getValidators().size());
  38. assertFalse(field.getValidators().contains(validator));
  39. assertTrue(field.getValidators().contains(validator2));
  40. field.removeValidator(validator2);
  41. assertNotNull(field.getValidators());
  42. assertEquals(0, field.getValidators().size());
  43. assertFalse(field.getValidators().contains(validator));
  44. assertFalse(field.getValidators().contains(validator2));
  45. }
  46. @Test
  47. public void testRemoveAllValidators() {
  48. field.addValidator(validator);
  49. field.addValidator(validator2);
  50. field.removeAllValidators();
  51. assertNotNull(field.getValidators());
  52. assertEquals(0, field.getValidators().size());
  53. assertFalse(field.getValidators().contains(validator));
  54. assertFalse(field.getValidators().contains(validator2));
  55. }
  56. @Test
  57. public void validatorShouldMakeImmediate() {
  58. assertFalse("field should not be immediate by default",
  59. field.isImmediate());
  60. field.addValidator(validator);
  61. assertTrue("field should be immediate when it has a validator",
  62. field.isImmediate());
  63. }
  64. @Test
  65. public void nonImmediateFieldWithValidator() {
  66. field.setImmediate(false);
  67. field.addValidator(validator);
  68. assertFalse("field should be non-immediate because explicitly set",
  69. field.isImmediate());
  70. }
  71. @Test
  72. public void removeValidatorMakesNonImmediate() {
  73. field.addValidator(validator);
  74. field.removeValidator(validator);
  75. assertFalse(
  76. "field should be non-immediate after validator was removed",
  77. field.isImmediate());
  78. }
  79. @Test
  80. public void requiredMakesImmediate() {
  81. assertFalse("field should not be immediate by default",
  82. field.isImmediate());
  83. field.setRequired(true);
  84. assertTrue("field should be immediate when it is required",
  85. field.isImmediate());
  86. }
  87. @Test
  88. public void removeRequiredMakesNonImmediate() {
  89. assertFalse("field should not be immediate by default",
  90. field.isImmediate());
  91. field.setRequired(true);
  92. field.setRequired(false);
  93. assertFalse(
  94. "field should not be immediate even though it was required",
  95. field.isImmediate());
  96. }
  97. }