From 999493ecce459f959f5b1b5c0144171e09175c01 Mon Sep 17 00:00:00 2001 From: "M.P. Korstanje" Date: Tue, 25 Feb 2025 01:21:02 +0100 Subject: [PATCH] Update CHANGELOG --- CHANGELOG.md | 5 ++ .../cucumber/core/backend/ScenarioScoped.java | 6 +- .../core/plugin/HtmlFormatterTest.java | 55 ------------------- 3 files changed, 8 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d67f1b4085..b7ac8c3f48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Changed - [Core] Improved caching glue performance ([#2971](https://github.com/cucumber/cucumber-jvm/pull/2971) M.P. Korstanje & Julien Kronegg) +- [Java, Java8] Significantly reduced number of emitted step- and hook-definition messages ([#2971](https://github.com/cucumber/cucumber-jvm/pull/2971) M.P. Korstanje & Julien Kronegg) +- [Core] Removed workarounds to limit size of html report ([#2971](https://github.com/cucumber/cucumber-jvm/pull/2971) M.P. Korstanje & Julien Kronegg) + +### Deprecated +- [Core] Deprecated `ScenarioScoped` glue ([#2971](https://github.com/cucumber/cucumber-jvm/pull/2971) M.P. Korstanje & Julien Kronegg) ## [7.21.1] - 2025-02-07 ### Fixed diff --git a/cucumber-core/src/main/java/io/cucumber/core/backend/ScenarioScoped.java b/cucumber-core/src/main/java/io/cucumber/core/backend/ScenarioScoped.java index 950bb2b6e0..7c0af174c3 100644 --- a/cucumber-core/src/main/java/io/cucumber/core/backend/ScenarioScoped.java +++ b/cucumber-core/src/main/java/io/cucumber/core/backend/ScenarioScoped.java @@ -8,9 +8,9 @@ * scenario scoped object (e.g. a method closure). * * @deprecated backend with scenario scoped glue should hide this complexity - * from Cucumber by updating the registered glue during - * {@link Backend#buildWorld()} and transparently dispose of any closures during - * {@link Backend#disposeWorld()}. + * from Cucumber by updating the registered glue during + * {@link Backend#buildWorld()} and transparently dispose of any + * closures during {@link Backend#disposeWorld()}. */ @Deprecated public interface ScenarioScoped { diff --git a/cucumber-core/src/test/java/io/cucumber/core/plugin/HtmlFormatterTest.java b/cucumber-core/src/test/java/io/cucumber/core/plugin/HtmlFormatterTest.java index cee3a7e9f6..f4736545e5 100644 --- a/cucumber-core/src/test/java/io/cucumber/core/plugin/HtmlFormatterTest.java +++ b/cucumber-core/src/test/java/io/cucumber/core/plugin/HtmlFormatterTest.java @@ -3,12 +3,6 @@ import io.cucumber.core.eventbus.EventBus; import io.cucumber.core.runtime.TimeServiceEventBus; import io.cucumber.messages.types.Envelope; -import io.cucumber.messages.types.Hook; -import io.cucumber.messages.types.ParameterType; -import io.cucumber.messages.types.SourceReference; -import io.cucumber.messages.types.StepDefinition; -import io.cucumber.messages.types.StepDefinitionPattern; -import io.cucumber.messages.types.StepDefinitionPatternType; import io.cucumber.messages.types.TestRunFinished; import io.cucumber.messages.types.TestRunStarted; import io.cucumber.messages.types.Timestamp; @@ -16,7 +10,6 @@ import java.io.ByteArrayOutputStream; import java.time.Clock; -import java.util.Collections; import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -48,54 +41,6 @@ void writes_index_html() throws Throwable { extractCucumberMessages(bytes), STRICT); } - @Test - void ignores_step_definitions() throws Throwable { - ByteArrayOutputStream bytes = new ByteArrayOutputStream(); - HtmlFormatter formatter = new HtmlFormatter(bytes); - EventBus bus = new TimeServiceEventBus(Clock.systemUTC(), UUID::randomUUID); - formatter.setEventPublisher(bus); - - TestRunStarted testRunStarted = new TestRunStarted(new Timestamp(10L, 0L), null); - bus.send(Envelope.of(testRunStarted)); - - StepDefinition stepDefinition = new StepDefinition( - "", - new StepDefinitionPattern("", StepDefinitionPatternType.CUCUMBER_EXPRESSION), - SourceReference.of("https://example.com")); - bus.send(Envelope.of(stepDefinition)); - - Hook hook = new Hook("", - null, - SourceReference.of("https://example.com"), - null, null); - bus.send(Envelope.of(hook)); - - // public ParameterType(String name, List regularExpressions, - // Boolean preferForRegularExpressionMatch, Boolean useForSnippets, - // String id) { - ParameterType parameterType = new ParameterType( - "", - Collections.emptyList(), - true, - false, - "", - null); - bus.send(Envelope.of(parameterType)); - - TestRunFinished testRunFinished = new TestRunFinished( - null, - true, - new Timestamp(15L, 0L), - null, null); - bus.send(Envelope.of(testRunFinished)); - - assertEquals("[" + - "{\"testRunStarted\":{\"timestamp\":{\"nanos\":0,\"seconds\":10}}}," + - "{\"testRunFinished\":{\"success\":true,\"timestamp\":{\"nanos\":0,\"seconds\":15}}}" + - "]", - extractCucumberMessages(bytes), STRICT); - } - private static String extractCucumberMessages(ByteArrayOutputStream bytes) { Pattern pattern = Pattern.compile("^.*window\\.CUCUMBER_MESSAGES = (\\[.+]);.*$", Pattern.DOTALL); Matcher matcher = pattern.matcher(new String(bytes.toByteArray(), UTF_8));