From a49dc6ef9dfd73b2e5eb4320c940a3ce336782b5 Mon Sep 17 00:00:00 2001 From: Alar Aule Date: Mon, 26 Feb 2024 09:07:56 +0200 Subject: [PATCH] grails-core issue https://github.com/grails/grails-core/issues/11318 apply Generated annotation to RenderConverterTrait method, to improve test coverage reports (#15) --- .../converters/RenderConverterTrait.groovy | 2 ++ .../RenderConverterTraitGeneratedSpec.groovy | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/test/groovy/org/grails/compiler/web/converters/RenderConverterTraitGeneratedSpec.groovy diff --git a/src/main/groovy/org/grails/compiler/web/converters/RenderConverterTrait.groovy b/src/main/groovy/org/grails/compiler/web/converters/RenderConverterTrait.groovy index 2405a985086..10929dde15c 100644 --- a/src/main/groovy/org/grails/compiler/web/converters/RenderConverterTrait.groovy +++ b/src/main/groovy/org/grails/compiler/web/converters/RenderConverterTrait.groovy @@ -1,6 +1,7 @@ package org.grails.compiler.web.converters import grails.artefact.Enhances +import groovy.transform.Generated import org.grails.web.converters.Converter import org.grails.web.servlet.mvc.GrailsWebRequest import org.springframework.web.context.request.RequestContextHolder @@ -15,6 +16,7 @@ trait RenderConverterTrait { * * @param converter The converter to render */ + @Generated void render(Converter converter) { GrailsWebRequest webRequest = (GrailsWebRequest)RequestContextHolder.currentRequestAttributes() HttpServletResponse response = webRequest.currentResponse diff --git a/src/test/groovy/org/grails/compiler/web/converters/RenderConverterTraitGeneratedSpec.groovy b/src/test/groovy/org/grails/compiler/web/converters/RenderConverterTraitGeneratedSpec.groovy new file mode 100644 index 00000000000..96548f0f2e5 --- /dev/null +++ b/src/test/groovy/org/grails/compiler/web/converters/RenderConverterTraitGeneratedSpec.groovy @@ -0,0 +1,22 @@ +package org.grails.compiler.web.converters + +import grails.web.Action +import groovy.transform.Generated +import spock.lang.Specification + +import java.lang.reflect.Method + +class ControllerTraitGeneratedSpec extends Specification { + + void "test that all RenderConverter trait methods are marked as Generated"() { + expect: "all RenderConverter methods are marked as Generated on implementation class" + RenderConverterTrait.getMethods().each { Method traitMethod -> + assert TestConverter.class.getMethod(traitMethod.name, traitMethod.parameterTypes).isAnnotationPresent(Generated) + } + } +} + +class TestConverter implements RenderConverterTrait { + +} +