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.4KB

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