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.

AbstractFieldDeclarativeTest.java 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * Copyright 2000-2014 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.tests.server.component.abstractfield;
  17. import org.junit.Test;
  18. import com.vaadin.data.util.ObjectProperty;
  19. import com.vaadin.tests.design.DeclarativeTestBase;
  20. import com.vaadin.ui.AbstractField;
  21. import com.vaadin.ui.TextField;
  22. /**
  23. * Tests declarative support for implementations of {@link AbstractField}.
  24. *
  25. * @since 7.4
  26. * @author Vaadin Ltd
  27. */
  28. public class AbstractFieldDeclarativeTest extends
  29. DeclarativeTestBase<AbstractField<?>> {
  30. @Test
  31. public void testPlainText() {
  32. String design = "<vaadin-text-field buffered validation-visible='false' invalid-committed"
  33. + " invalid-allowed='false' required required-error='This is a required field'"
  34. + " conversion-error='Input {0} cannot be parsed' tabindex=3 readonly/>";
  35. AbstractField tf = new TextField();
  36. tf.setBuffered(true);
  37. tf.setBuffered(true);
  38. tf.setValidationVisible(false);
  39. tf.setInvalidCommitted(true);
  40. tf.setInvalidAllowed(false);
  41. tf.setRequired(true);
  42. tf.setRequiredError("This is a required field");
  43. tf.setConversionError("Input {0} cannot be parsed");
  44. tf.setTabIndex(3);
  45. tf.setReadOnly(true);
  46. testRead(design, tf);
  47. testWrite(design, tf);
  48. // Test with readonly=false
  49. design = design.replace("readonly", "");
  50. tf.setReadOnly(false);
  51. testRead(design, tf);
  52. testWrite(design, tf);
  53. }
  54. @Test
  55. public void testModelReadOnly() {
  56. // Test that read only value coming from property data source is not
  57. // written to design.
  58. String design = "<vaadin-text-field value=test></vaadin-text-field>";
  59. AbstractField component = new TextField();
  60. ObjectProperty<String> property = new ObjectProperty<String>("test");
  61. property.setReadOnly(true);
  62. component.setPropertyDataSource(property);
  63. testWrite(design, component);
  64. }
  65. }