diff --git a/pom.xml b/pom.xml index 4066270..926c7d5 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ com.flowingcode.vaadin.test testbench-rpc - 1.3.0 + 1.4.0 test @@ -544,6 +544,10 @@ com.vaadin vaadin-dev + + com.vaadin + vaadin-dev + diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java index c62b534..0b944d2 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesIT.java @@ -19,7 +19,8 @@ */ package com.flowingcode.vaadin.addons.gridhelpers.it; -import static org.junit.Assert.assertEquals; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.containsString; import com.flowingcode.vaadin.addons.gridhelpers.it.HeaderFooterStylesCallables.HeaderCellWrapper; import com.flowingcode.vaadin.addons.gridhelpers.it.HeaderFooterStylesCallables.HeaderRowWrapper; import com.flowingcode.vaadin.testbench.rpc.HasRpcSupport; @@ -54,11 +55,11 @@ public void testHeaderClassesApplied() { row1.getCell(i).setClassName("row1-cell" + i); } - assertEquals("row0-cell0", grid.getHeaderCellAt(0, 0).getAttribute("class")); - assertEquals("row0-cell1", grid.getHeaderCellAt(0, 1).getAttribute("class")); + assertThat(grid.getHeaderCellAt(0, 0).getAttribute("class"), containsString("row0-cell0")); + assertThat(grid.getHeaderCellAt(0, 1).getAttribute("class"), containsString("row0-cell1")); for (int i = 0; i < 5; i++) { - assertEquals("row1-cell" + i, grid.getHeaderCellAt(1, i).getAttribute("class")); + assertThat(grid.getHeaderCellAt(1, i).getAttribute("class"), containsString("row1-cell" + i)); } } @@ -72,8 +73,8 @@ public void testHeaderCellMutability() { $server.setColumnOrder(2, 3, 0, 1, 4); header0.setClassName("row0-cell0"); header1.setClassName("row0-cell1"); - assertEquals("row0-cell1", grid.getHeaderCellAt(0, 0).getAttribute("class")); - assertEquals("row0-cell0", grid.getHeaderCellAt(0, 1).getAttribute("class")); + assertThat(grid.getHeaderCellAt(0, 0).getAttribute("class"), containsString("row0-cell1")); + assertThat(grid.getHeaderCellAt(0, 1).getAttribute("class"), containsString("row0-cell0")); } } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java index 6058f47..3fe9968 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeaderFooterStylesView.java @@ -21,13 +21,13 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridHelper; import com.flowingcode.vaadin.addons.gridhelpers.GridStylesHelper; -import com.vaadin.flow.component.ClientCallable; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid.Column; import com.vaadin.flow.component.grid.HeaderRow; import com.vaadin.flow.component.grid.HeaderRow.HeaderCell; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; @@ -38,7 +38,7 @@ import lombok.experimental.ExtensionMethod; @SuppressWarnings("serial") -@Route(HeaderFooterStylesView.ROUTE) +@InstrumentedRoute(HeaderFooterStylesView.ROUTE) @ExtensionMethod(GridHelper.class) public class HeaderFooterStylesView extends Div implements HeaderFooterStylesCallables { @@ -59,7 +59,7 @@ public HeaderFooterStylesView() { } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return HeaderFooterStylesCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java index 0ce1287..20a5b1a 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/HeightByRowsITView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2024 Flowing Code + * Copyright (C) 2022 - 2025 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,13 +21,13 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridHelper; import com.flowingcode.vaadin.addons.gridhelpers.HeightMode; -import com.vaadin.flow.component.ClientCallable; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.router.BeforeEvent; import com.vaadin.flow.router.HasUrlParameter; import com.vaadin.flow.router.OptionalParameter; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.Arrays; @@ -36,7 +36,7 @@ import lombok.experimental.ExtensionMethod; @ExtensionMethod(GridHelper.class) -@Route(HeightByRowsITView.ROUTE) +@InstrumentedRoute(HeightByRowsITView.ROUTE) public class HeightByRowsITView extends VerticalLayout implements HeightByRowsITViewCallables, HasUrlParameter { @@ -86,7 +86,7 @@ public void setParameter(BeforeEvent event, @OptionalParameter String parameter) } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return HeightByRowsITViewCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java index e677455..9ac3da1 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/IntegrationView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2024 Flowing Code + * Copyright (C) 2022 - 2025 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,15 +23,15 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridRadioSelectionColumn; import com.flowingcode.vaadin.addons.gridhelpers.Person; import com.flowingcode.vaadin.addons.gridhelpers.TestData; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.flowingcode.vaadin.testbench.rpc.JsonArrayList; -import com.vaadin.flow.component.ClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid.Column; import com.vaadin.flow.component.grid.Grid.SelectionMode; import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.Span; import com.vaadin.flow.data.provider.ListDataProvider; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; @@ -40,7 +40,7 @@ import lombok.experimental.ExtensionMethod; @SuppressWarnings("serial") -@Route("it") +@InstrumentedRoute("it") @ExtensionMethod(GridHelper.class) public class IntegrationView extends Div implements IntegrationViewCallables { @@ -77,7 +77,7 @@ public IntegrationView() { } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return IntegrationViewCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java index 7c79d14..35a8e9b 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ResponsiveGridITView.java @@ -2,7 +2,7 @@ * #%L * Grid Helpers Add-on * %% - * Copyright (C) 2022 - 2024 Flowing Code + * Copyright (C) 2022 - 2025 Flowing Code * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,10 +22,10 @@ import com.flowingcode.vaadin.addons.gridhelpers.GridHelper; import com.flowingcode.vaadin.addons.gridhelpers.GridResponsiveStep; import com.flowingcode.vaadin.addons.gridhelpers.GridResponsiveStep.GridResponsiveStepListenerRegistration; -import com.vaadin.flow.component.ClientCallable; +import com.flowingcode.vaadin.jsonmigration.InstrumentedRoute; +import com.flowingcode.vaadin.jsonmigration.LegacyClientCallable; import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.orderedlayout.VerticalLayout; -import com.vaadin.flow.router.Route; import elemental.json.JsonObject; import elemental.json.JsonValue; import java.util.List; @@ -36,7 +36,7 @@ import lombok.experimental.ExtensionMethod; @ExtensionMethod(GridHelper.class) -@Route(ResponsiveGridITView.ROUTE) +@InstrumentedRoute(ResponsiveGridITView.ROUTE) public class ResponsiveGridITView extends VerticalLayout implements ResponsiveGridITViewCallables { public static final String ROUTE = "it/responsive"; @@ -60,7 +60,7 @@ public ResponsiveGridITView() { } @Override - @ClientCallable + @LegacyClientCallable public JsonValue $call(JsonObject invocation) { return ResponsiveGridITViewCallables.super.$call(invocation); } diff --git a/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java new file mode 100644 index 0000000..cb83abb --- /dev/null +++ b/src/test/java/com/flowingcode/vaadin/addons/gridhelpers/it/ViewInitializerImpl.java @@ -0,0 +1,36 @@ +/*- + * #%L + * RPC for Vaadin TestBench + * %% + * Copyright (C) 2021 - 2025 Flowing Code + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ +package com.flowingcode.vaadin.addons.gridhelpers.it; + +import com.flowingcode.vaadin.jsonmigration.InstrumentationViewInitializer; +import com.vaadin.flow.server.ServiceInitEvent; + +@SuppressWarnings("serial") +public class ViewInitializerImpl extends InstrumentationViewInitializer { + + @Override + public void serviceInit(ServiceInitEvent event) { + registerInstrumentedRoute(IntegrationView.class); + registerInstrumentedRoute(HeightByRowsITView.class); + registerInstrumentedRoute(HeaderFooterStylesView.class); + registerInstrumentedRoute(ResponsiveGridITView.class); + } + +} diff --git a/src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener b/src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener new file mode 100644 index 0000000..4ab64be --- /dev/null +++ b/src/test/resources/META-INF/services/com.vaadin.flow.server.VaadinServiceInitListener @@ -0,0 +1 @@ +com.flowingcode.vaadin.addons.gridhelpers.it.ViewInitializerImpl