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.

OptionGroupDeclarativeTest.java 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.vaadin.v7.tests.server.component.abstractselect;
  2. import org.junit.Before;
  3. import org.junit.Test;
  4. import com.vaadin.server.ThemeResource;
  5. import com.vaadin.tests.design.DeclarativeTestBase;
  6. import com.vaadin.v7.ui.OptionGroup;
  7. public class OptionGroupDeclarativeTest
  8. extends DeclarativeTestBase<OptionGroup> {
  9. private OptionGroup og;
  10. @Before
  11. public void init() {
  12. og = new OptionGroup();
  13. }
  14. @Test
  15. public void testBasicSyntax() {
  16. String expected = "<vaadin7-option-group />";
  17. testReadWrite(expected);
  18. }
  19. @Test
  20. public void testOptionSyntax() {
  21. og.addItems("foo", "bar", "baz", "bang");
  22. //@formatter:off
  23. String expected =
  24. "<vaadin7-option-group>"
  25. + "<option>foo</option>"
  26. + "<option>bar</option>"
  27. + "<option>baz</option>"
  28. + "<option>bang</option>"
  29. + "</vaadin7-option-group>";
  30. //@formatter:on
  31. testReadWrite(expected);
  32. }
  33. @Test
  34. public void testDisabledOptionSyntax() {
  35. og.addItems("foo", "bar", "baz", "bang");
  36. og.setItemEnabled("baz", false);
  37. //@formatter:off
  38. String expected =
  39. "<vaadin7-option-group>"
  40. + "<option>foo</option>"
  41. + "<option>bar</option>"
  42. + "<option disabled=''>baz</option>"
  43. + "<option>bang</option>"
  44. + "</vaadin7-option-group>";
  45. //@formatter:on
  46. testReadWrite(expected);
  47. }
  48. @Test
  49. public void testIconSyntax() {
  50. og.addItems("foo", "bar", "baz", "bang");
  51. og.setItemIcon("bar", new ThemeResource("foobar.png"));
  52. //@formatter:off
  53. String expected =
  54. "<vaadin7-option-group>"
  55. + "<option>foo</option>"
  56. + "<option icon='theme://foobar.png'>bar</option>"
  57. + "<option>baz</option>"
  58. + "<option>bang</option>"
  59. + "</vaadin7-option-group>";
  60. //@formatter:on
  61. testReadWrite(expected);
  62. }
  63. @Test
  64. public void testHTMLCaption() {
  65. og.addItems("foo", "bar", "baz", "bang");
  66. og.setHtmlContentAllowed(true);
  67. og.setItemCaption("foo", "<b>True</b>");
  68. og.setItemCaption("bar", "<font color='red'>False</font>");
  69. //@formatter:off
  70. String expected =
  71. "<vaadin7-option-group html-content-allowed>"
  72. + "<option item-id=\"foo\"><b>True</b></option>"
  73. + "<option item-id=\"bar\"><font color='red'>False</font></option>"
  74. + "<option>baz</option>"
  75. + "<option>bang</option>"
  76. + "</vaadin7-option-group>";
  77. //@formatter:on
  78. testReadWrite(expected);
  79. }
  80. @Test
  81. public void testPlaintextCaption() {
  82. og.addItems("foo", "bar", "baz", "bang");
  83. og.setItemCaption("foo", "<b>True</b>");
  84. og.setItemCaption("bar", "<font color=\"red\">False</font>");
  85. //@formatter:off
  86. String expected =
  87. "<vaadin7-option-group>"
  88. + "<option item-id=\"foo\">&lt;b&gt;True&lt;/b&gt;</option>"
  89. + "<option item-id=\"bar\">&lt;font color=\"red\"&gt;False&lt;/font&gt;</option>"
  90. + "<option>baz</option>"
  91. + "<option>bang</option>"
  92. + "</vaadin7-option-group>";
  93. //@formatter:on
  94. testReadWrite(expected);
  95. }
  96. private void testReadWrite(String design) {
  97. testWrite(design, og, true);
  98. testRead(design, og);
  99. }
  100. @Override
  101. public OptionGroup testRead(String design, OptionGroup expected) {
  102. OptionGroup read = super.testRead(design, expected);
  103. testWrite(design, read, true);
  104. return read;
  105. }
  106. }