From e231a7d4216630cd1488e8b9148e91cb1af7269d Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 19 Jul 2023 14:45:42 -0300 Subject: [PATCH 1/5] test: throw exception if test resource is not found --- .../addons/demo/it/AbstractSourceCodeViewerIT.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java b/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java index 05caa23..e9dfd59 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.InputStream; +import java.util.MissingResourceException; import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.commons.io.IOUtils; @@ -47,8 +48,12 @@ protected void open(String resource, String... args) { viewer = $(SourceCodeViewerElement.class).waitForFirst(); } - private static String getExpectedText(String resource) { - InputStream in = AbstractSourceCodeViewerIT.class.getResourceAsStream(resource + ".txt"); + private String getExpectedText(String resource) { + resource += ".txt"; + InputStream in = this.getClass().getResourceAsStream(resource); + if (in == null) { + throw new MissingResourceException(resource, null, null); + } try { return new String(IOUtils.toByteArray(in), "UTF-8").trim().replaceAll("\r", ""); } catch (IOException e) { From 180adb2b9690542fce093e20241dc1dd25d31466 Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 19 Jul 2023 14:49:40 -0300 Subject: [PATCH 2/5] test: take resource name from caller method --- .../addons/demo/it/AbstractSourceCodeViewerIT.java | 12 +++++++++--- .../vaadin/addons/demo/it/SourceCodeViewerIT.java | 12 ++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java b/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java index e9dfd59..4a21920 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java @@ -36,11 +36,17 @@ public AbstractSourceCodeViewerIT() { super(null); } - protected void open(String resource, String... args) { + private String getResourceName() { + String method = new Throwable().getStackTrace()[2].getMethodName(); + return method.replaceFirst("^test", ""); + } + + protected void open(String... args) { + String resource = getResourceName(); + if (viewer != null) { throw new IllegalStateException(); } - expected = getExpectedText(resource); String path = "com/flowingcode/vaadin/addons/demo/it/" + resource; String params = Stream.of(args).map(Object::toString).collect(Collectors.joining(";")); @@ -62,7 +68,7 @@ private String getExpectedText(String resource) { } protected final String expected() { - return expected; + return getExpectedText(getResourceName()); } protected String getText() { diff --git a/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java b/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java index ea109cf..2cc681a 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java @@ -26,37 +26,37 @@ public class SourceCodeViewerIT extends AbstractSourceCodeViewerIT { @Test public void testSimpleSource() { - open("SimpleSource"); + open(); assertEquals(expected(), getText()); } @Test public void testHideSource() { - open("HideSource"); + open(); assertEquals(expected(), getText()); } @Test public void testShowSource() { - open("ShowSource"); + open(); assertEquals(expected(), getText()); } @Test public void testPackageCleanup() { - open("PackageCleanup"); + open(); assertEquals(expected(), getText()); } @Test public void testAnnotationCleanup() { - open("AnnotationCleanup"); + open(); assertEquals(expected(), getText()); } @Test public void testLicenseCleanup() { - open("LicenseCleanup"); + open(); assertEquals(expected(), getText()); } From a3a667e60fd511aa1776dc82891fe38afdadfbdf Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 19 Jul 2023 14:54:25 -0300 Subject: [PATCH 3/5] test: return CodeViewer text from open --- .../demo/it/AbstractSourceCodeViewerIT.java | 7 ++----- .../addons/demo/it/SourceCodeViewerIT.java | 18 ++++++------------ 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java b/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java index 4a21920..408eef8 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/demo/it/AbstractSourceCodeViewerIT.java @@ -41,7 +41,7 @@ private String getResourceName() { return method.replaceFirst("^test", ""); } - protected void open(String... args) { + protected String open(String... args) { String resource = getResourceName(); if (viewer != null) { @@ -52,6 +52,7 @@ protected void open(String... args) { String params = Stream.of(args).map(Object::toString).collect(Collectors.joining(";")); getDriver().get(getURL(String.format("it/view/%s?src/test/resources/%s.java", params, path))); viewer = $(SourceCodeViewerElement.class).waitForFirst(); + return viewer.getText(); } private String getExpectedText(String resource) { @@ -71,8 +72,4 @@ protected final String expected() { return getExpectedText(getResourceName()); } - protected String getText() { - return viewer.getText(); - } - } diff --git a/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java b/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java index 2cc681a..dc1c43f 100644 --- a/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java +++ b/src/test/java/com/flowingcode/vaadin/addons/demo/it/SourceCodeViewerIT.java @@ -26,38 +26,32 @@ public class SourceCodeViewerIT extends AbstractSourceCodeViewerIT { @Test public void testSimpleSource() { - open(); - assertEquals(expected(), getText()); + assertEquals(expected(), open()); } @Test public void testHideSource() { - open(); - assertEquals(expected(), getText()); + assertEquals(expected(), open()); } @Test public void testShowSource() { - open(); - assertEquals(expected(), getText()); + assertEquals(expected(), open()); } @Test public void testPackageCleanup() { - open(); - assertEquals(expected(), getText()); + assertEquals(expected(), open()); } @Test public void testAnnotationCleanup() { - open(); - assertEquals(expected(), getText()); + assertEquals(expected(), open()); } @Test public void testLicenseCleanup() { - open(); - assertEquals(expected(), getText()); + assertEquals(expected(), open()); } } From 27162bae1977b77d6208942c547dc2476fe9db7b Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 19 Jul 2023 15:03:15 -0300 Subject: [PATCH 4/5] test: add test for conditional code --- .../it/ConditionalSourceCodeViewerIT.java | 39 +++++++++++++++++++ .../vaadin/addons/demo/it/ConditionEq.java | 29 ++++++++++++++ .../vaadin/addons/demo/it/ConditionEq.txt | 5 +++ .../vaadin/addons/demo/it/ConditionGe.java | 29 ++++++++++++++ .../vaadin/addons/demo/it/ConditionGe.txt | 8 ++++ .../vaadin/addons/demo/it/ConditionGt.java | 29 ++++++++++++++ .../vaadin/addons/demo/it/ConditionGt.txt | 5 +++ .../vaadin/addons/demo/it/ConditionLe.java | 29 ++++++++++++++ .../vaadin/addons/demo/it/ConditionLe.txt | 8 ++++ .../vaadin/addons/demo/it/ConditionLt.java | 29 ++++++++++++++ .../vaadin/addons/demo/it/ConditionLt.txt | 5 +++ .../vaadin/addons/demo/it/ConditionNe.java | 29 ++++++++++++++ .../vaadin/addons/demo/it/ConditionNe.txt | 8 ++++ 13 files changed, 252 insertions(+) create mode 100644 src/test/java/com/flowingcode/vaadin/addons/demo/it/ConditionalSourceCodeViewerIT.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.txt create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.txt create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.txt create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.txt create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.txt create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.java create mode 100644 src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.txt diff --git a/src/test/java/com/flowingcode/vaadin/addons/demo/it/ConditionalSourceCodeViewerIT.java b/src/test/java/com/flowingcode/vaadin/addons/demo/it/ConditionalSourceCodeViewerIT.java new file mode 100644 index 0000000..27b37ae --- /dev/null +++ b/src/test/java/com/flowingcode/vaadin/addons/demo/it/ConditionalSourceCodeViewerIT.java @@ -0,0 +1,39 @@ +package com.flowingcode.vaadin.addons.demo.it; + +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +public class ConditionalSourceCodeViewerIT extends AbstractSourceCodeViewerIT { + + private static final String VAADIN_VERSION = "vaadin=23.4.5"; + + @Test + public void testConditionEq() { + assertEquals(expected(), open(VAADIN_VERSION)); + } + + @Test + public void testConditionNe() { + assertEquals(expected(), open(VAADIN_VERSION)); + } + + @Test + public void testConditionLt() { + assertEquals(expected(), open(VAADIN_VERSION)); + } + + @Test + public void testConditionLe() { + assertEquals(expected(), open(VAADIN_VERSION)); + } + + @Test + public void testConditionGt() { + assertEquals(expected(), open(VAADIN_VERSION)); + } + + @Test + public void testConditionGe() { + assertEquals(expected(), open(VAADIN_VERSION)); + } +} diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.java b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.java new file mode 100644 index 0000000..462d635 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.java @@ -0,0 +1,29 @@ +class MyClass { + // #if vaadin eq 22 + // show-source eq 22 + // #endif + // #if vaadin eq 23 + // show-source eq 23 + // #endif + // #if vaadin eq 24 + // show-source eq 24 + // #endif + // #if vaadin eq 23.3 + // show-source eq 23.3 + // #endif + // #if vaadin eq 23.4 + // show-source eq 23.4 + // #endif + // #if vaadin eq 23.5 + // show-source eq 23.5 + // #endif + // #if vaadin eq 23.4.4 + // show-source eq 23.4.4 + // #endif + // #if vaadin eq 23.4.5 + // show-source eq 23.4.5 + // #endif + // #if vaadin eq 23.4.6 + // show-source eq 23.4.6 + // #endif +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.txt b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.txt new file mode 100644 index 0000000..5607222 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionEq.txt @@ -0,0 +1,5 @@ +class MyClass { + eq 23 + eq 23.4 + eq 23.4.5 +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.java b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.java new file mode 100644 index 0000000..fc76be0 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.java @@ -0,0 +1,29 @@ +class MyClass { + // #if vaadin ge 22 + // show-source ge 22 + // #endif + // #if vaadin ge 23 + // show-source ge 23 + // #endif + // #if vaadin ge 24 + // show-source ge 24 + // #endif + // #if vaadin ge 23.3 + // show-source ge 23.3 + // #endif + // #if vaadin ge 23.4 + // show-source ge 23.4 + // #endif + // #if vaadin ge 23.5 + // show-source ge 23.5 + // #endif + // #if vaadin ge 23.4.4 + // show-source ge 23.4.4 + // #endif + // #if vaadin ge 23.4.5 + // show-source ge 23.4.5 + // #endif + // #if vaadin ge 23.4.6 + // show-source ge 23.4.6 + // #endif +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.txt b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.txt new file mode 100644 index 0000000..1148afc --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGe.txt @@ -0,0 +1,8 @@ +class MyClass { + ge 22 + ge 23 + ge 23.3 + ge 23.4 + ge 23.4.4 + ge 23.4.5 +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.java b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.java new file mode 100644 index 0000000..3207ea0 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.java @@ -0,0 +1,29 @@ +class MyClass { + // #if vaadin gt 22 + // show-source gt 22 + // #endif + // #if vaadin gt 23 + // show-source gt 23 + // #endif + // #if vaadin gt 24 + // show-source gt 24 + // #endif + // #if vaadin gt 23.3 + // show-source gt 23.3 + // #endif + // #if vaadin gt 23.4 + // show-source gt 23.4 + // #endif + // #if vaadin gt 23.5 + // show-source gt 23.5 + // #endif + // #if vaadin gt 23.4.4 + // show-source gt 23.4.4 + // #endif + // #if vaadin gt 23.4.5 + // show-source gt 23.4.5 + // #endif + // #if vaadin gt 23.4.6 + // show-source gt 23.4.6 + // #endif +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.txt b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.txt new file mode 100644 index 0000000..659fd97 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionGt.txt @@ -0,0 +1,5 @@ +class MyClass { + gt 22 + gt 23.3 + gt 23.4.4 +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.java b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.java new file mode 100644 index 0000000..9895d11 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.java @@ -0,0 +1,29 @@ +class MyClass { + // #if vaadin le 22 + // show-source le 22 + // #endif + // #if vaadin le 23 + // show-source le 23 + // #endif + // #if vaadin le 24 + // show-source le 24 + // #endif + // #if vaadin le 23.3 + // show-source le 23.3 + // #endif + // #if vaadin le 23.4 + // show-source le 23.4 + // #endif + // #if vaadin le 23.5 + // show-source le 23.5 + // #endif + // #if vaadin le 23.4.4 + // show-source le 23.4.4 + // #endif + // #if vaadin le 23.4.5 + // show-source le 23.4.5 + // #endif + // #if vaadin le 23.4.6 + // show-source le 23.4.6 + // #endif +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.txt b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.txt new file mode 100644 index 0000000..2ca807b --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLe.txt @@ -0,0 +1,8 @@ +class MyClass { + le 23 + le 24 + le 23.4 + le 23.5 + le 23.4.5 + le 23.4.6 +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.java b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.java new file mode 100644 index 0000000..9785720 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.java @@ -0,0 +1,29 @@ +class MyClass { + // #if vaadin lt 22 + // show-source lt 22 + // #endif + // #if vaadin lt 23 + // show-source lt 23 + // #endif + // #if vaadin lt 24 + // show-source lt 24 + // #endif + // #if vaadin lt 23.3 + // show-source lt 23.3 + // #endif + // #if vaadin lt 23.4 + // show-source lt 23.4 + // #endif + // #if vaadin lt 23.5 + // show-source lt 23.5 + // #endif + // #if vaadin lt 23.4.4 + // show-source lt 23.4.4 + // #endif + // #if vaadin lt 23.4.5 + // show-source lt 23.4.5 + // #endif + // #if vaadin lt 23.4.6 + // show-source lt 23.4.6 + // #endif +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.txt b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.txt new file mode 100644 index 0000000..15ede85 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionLt.txt @@ -0,0 +1,5 @@ +class MyClass { + lt 24 + lt 23.5 + lt 23.4.6 +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.java b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.java new file mode 100644 index 0000000..98c4c3e --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.java @@ -0,0 +1,29 @@ +class MyClass { + // #if vaadin ne 22 + // show-source ne 22 + // #endif + // #if vaadin ne 23 + // show-source ne 23 + // #endif + // #if vaadin ne 24 + // show-source ne 24 + // #endif + // #if vaadin ne 23.3 + // show-source ne 23.3 + // #endif + // #if vaadin ne 23.4 + // show-source ne 23.4 + // #endif + // #if vaadin ne 23.5 + // show-source ne 23.5 + // #endif + // #if vaadin ne 23.4.4 + // show-source ne 23.4.4 + // #endif + // #if vaadin ne 23.4.5 + // show-source ne 23.4.5 + // #endif + // #if vaadin ne 23.4.6 + // show-source ne 23.4.6 + // #endif +} \ No newline at end of file diff --git a/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.txt b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.txt new file mode 100644 index 0000000..ebd1c27 --- /dev/null +++ b/src/test/resources/com/flowingcode/vaadin/addons/demo/it/ConditionNe.txt @@ -0,0 +1,8 @@ +class MyClass { + ne 22 + ne 24 + ne 23.3 + ne 23.5 + ne 23.4.4 + ne 23.4.6 +} \ No newline at end of file From a52dda3b359eee2e9c27a9884d5420b0db49721a Mon Sep 17 00:00:00 2001 From: Javier Godoy <11554739+javier-godoy@users.noreply.github.com> Date: Wed, 19 Jul 2023 15:07:06 -0300 Subject: [PATCH 5/5] fix: fix implementation of code-viewer __compare --- src/main/resources/META-INF/resources/frontend/code-viewer.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/resources/META-INF/resources/frontend/code-viewer.ts b/src/main/resources/META-INF/resources/frontend/code-viewer.ts index c2345a1..374cf49 100644 --- a/src/main/resources/META-INF/resources/frontend/code-viewer.ts +++ b/src/main/resources/META-INF/resources/frontend/code-viewer.ts @@ -354,8 +354,6 @@ pre[class*="language-"] { if (aibi) return +1; } - if (aa.lengthbb.length) return +1; return 0; }