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.

AbstractListingTest.java 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.vaadin.ui.components;
  2. import static org.junit.Assert.assertEquals;
  3. import java.util.Arrays;
  4. import java.util.Iterator;
  5. import org.junit.Before;
  6. import org.junit.Test;
  7. import com.vaadin.server.communication.data.typed.AbstractDataSource;
  8. import com.vaadin.server.communication.data.typed.DataProvider;
  9. import com.vaadin.server.communication.data.typed.DataSource;
  10. import com.vaadin.ui.components.AbstractListing.AbstractListingExtension;
  11. import elemental.json.JsonObject;
  12. public class AbstractListingTest {
  13. private final class CountGenerator extends AbstractListingExtension<String> {
  14. int callCount = 0;
  15. @Override
  16. public void generateData(String data, JsonObject jsonObject) {
  17. ++callCount;
  18. }
  19. @Override
  20. public void destroyData(String data) {
  21. }
  22. }
  23. AbstractListing<String> testComponent = new AbstractListing<String>() {
  24. DataSource<String> data;
  25. @Override
  26. public void setDataSource(DataSource<String> data) {
  27. this.data = data;
  28. setDataProvider(DataProvider.create(data, this));
  29. }
  30. @Override
  31. public DataSource<String> getDataSource() {
  32. return data;
  33. }
  34. };
  35. @Before
  36. public void setUp() {
  37. testComponent.setDataSource(new AbstractDataSource<String>() {
  38. @Override
  39. public void save(String data) {
  40. }
  41. @Override
  42. public void remove(String data) {
  43. }
  44. @Override
  45. public Iterator<String> iterator() {
  46. return Arrays.asList("Foo").iterator();
  47. }
  48. });
  49. }
  50. @Test
  51. public void testAddDataGenerator() {
  52. CountGenerator countGenerator = new CountGenerator();
  53. countGenerator.extend(testComponent);
  54. testComponent.getDataProvider().beforeClientResponse(true);
  55. assertEquals("Generator was not called.", 1, countGenerator.callCount);
  56. }
  57. @Test
  58. public void testAddAndRemoveDataGenerator() {
  59. CountGenerator countGenerator = new CountGenerator();
  60. countGenerator.extend(testComponent);
  61. countGenerator.remove();
  62. testComponent.getDataProvider().beforeClientResponse(true);
  63. assertEquals("Generator was called.", 0, countGenerator.callCount);
  64. }
  65. }