testlens-app[bot] commented on PR #15465: URL: https://github.com/apache/grails-core/pull/15465#issuecomment-4340085413
## 🚨 TestLens detected 13 failed tests 🚨 Here is what you can do: 1) Inspect the test failures carefully. 2) If you are convinced that some of the tests are flaky, you can mute them below. 3) Finally, trigger a rerun by checking the rerun checkbox. ### Test Summary | Check | Project/Task | Test | Runs | |---|---|---|---| | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testActionSubmitImageWithAction | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testActionSubmitImageWithAdditionalAttributes | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testActionSubmitImageWithoutAction | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testActionSubmitImageWithoutActionAndWithRequestDataValueProcessor | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormActionSubmitWithAURLAndRequestDataValueProcessor | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormActionSubmitWithAURLAndWithoutRequestDataValueProcessor | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormActionSubmitWithController | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormActionSubmitWithControllerAndAction | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormActionSubmitWithURLAndNoParams | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormWithURL | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testFormWithURLAndRequestDataValueProcessor | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testHtmlEscapingTextAreaTag | ❌ | | [CI / Build Grails-Core \(macos-latest, 21\)](https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465) | :grails-gsp:test | FormTagLibTests > testTextAreaTag | ❌ | 🏷️ Commit: bad5577df9779355c1dcb15de574b54bcd202233 ▶️ Tests: 6322 executed 🟡 Checks: 12/31 completed ### Test Failures (first 5 of 13) <details> <summary><strong>FormTagLibTests > testActionSubmitImageWithAction</strong> (:grails-gsp:test in <a href="https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465">CI / Build Grails-Core (macos-latest, 21)</a>)</summary> ``` Condition not satisfied: tagLib.actionSubmitImage(new TreeMap([ src: 'edit.gif', action: 'Edit', value: 'Some label for editing' ])).toString() == '<input type="image" name="_action_Edit" value="Some label for editing" src="edit.gif" />' | | | | | | | [:] | false | | | 77 differences (12% similarity) | | | (org.grails.t---)ag(lib.--)e(n---)c(--)o(---)d(er.Outp)u(tEnc)o(dingStack$Outpu-)t(ProxyW)r(it-)e(r@23001753-) | | | (<input type="im)ag(e" nam)e(="_a)c(ti)o(n_E)d(it" val)u(e="S)o(me label for edi)t(ing" s)r(c=")e(dit.gif" />) | | org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@23001753 | <org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@23001753 writerGroup=org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriterGroup@7511e348 this$0=org.grails.taglib.encoder.OutputEncodingStack@268bb09d factory=org.grails.taglib.encoder.OutputEncodingStack$4@1780bc15 destinationActivated=true trouble=false out=org.grails.buffer.CodecPrintWriter@4c2cc99f allowUnwrappingOut=true usageFlag=true streamCharBufferTarget=null previousOut=null writeBuffer=inaccessible lock=inaccessible> <org.grails.plugins.web.taglib.FormTagLib@6ea48ca1 applicationContext=org.springframework.boot.web.context.servlet.AnnotationConfigServletWebApplicationContext@50a1c2f3, started on Wed Apr 29 00:38:39 UTC 2026 requestDataValueProcessor=null conversionService=ConversionService converters = java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@587107c java.lang.Character -> java.lang.Number : org.springframework.core.convert.support.CharacterToNumberFactory@52418721 java.lang.Character -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@7e130e34 java.lang.Enum -> java.lang.Integer : org.springframework.core.convert.support.EnumToIntegerConverter@1fd2f96d java.lang.Enum -> java.lang.String : org.springframework.core.convert.support.EnumToStringConverter@108ed58d java.lang.Integer -> java.lang.Enum : org.springframework.core.convert.support.IntegerToEnumConverterFactory@3b07b706 java.lang.Number -> java.lang.Character : org.springframework.core.convert.support.NumberToCharacterConverter@69bf351e java.lang.Number -> java.lang.Number : org.springframework.core.convert.support.NumberToNumberConverterFactory@4a9fdffe java.lang.Number -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@29e9d47b java.lang.String -> java.lang.Boolean : org.springframework.core.convert.support.StringToBooleanConverter@52d04234 java.lang.String -> java.lang.Character : org.springframework.core.convert.support.StringToCharacterConverter@25b8a2f7 java.lang.String -> java.lang.Enum : org.springframework.core.convert.support.StringToEnumConverterFactory@1c724957 java.lang.String -> java.lang.Number : org.springframework.core.convert.support.StringToNumberConverterFactory@48515dfc java.lang.String -> java.nio.charset.Charset : org.springframework.core.convert.support.StringToCharsetConverter@77d5c4c6 java.lang.String -> java.util.Currency : org.springframework.core.convert.support.StringToCurrencyConverter@6ff879e5 java.lang.String -> java.util.Locale : org.springframework.core.convert.support.StringToLocaleConverter@561b39f4 java.lang.String -> java.util.Properties : org.springframework.core.convert.support.StringToPropertiesConverter@2a6600ab java.lang.String -> java.util.TimeZone : org.springframework.core.convert.support.StringToTimeZoneConverter@75f5293c java.lang.String -> java.util.UUID : org.springframework.core.convert.support.StringToUUIDConverter@9a3d0f4 java.lang.String -> java.util.regex.Pattern : org.springframework.core.convert.support.StringToPatternConverter@654e793f java.nio.charset.Charset -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@22f79c09 java.time.Instant -> java.util.Date : org.springframework.core.convert.support.InstantToDateConverter@171a6fd1 java.time.ZoneId -> java.util.TimeZone : org.springframework.core.convert.support.ZoneIdToTimeZoneConverter@e870441 java.time.ZonedDateTime -> java.util.Calendar : org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter@328a1843 java.util.Currency -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@a929b6 java.util.Date -> java.time.Instant : org.springframework.core.convert.support.DateToInstantConverter@47fb038d java.util.Locale -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@1a48f55b java.util.Properties -> java.lang.String : org.springframework.core.convert.support.PropertiesToStringConverter@65cd37bb java.util.UUID -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@2f7765f1 java.util.regex.Pattern -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@14fe2e62 org.springframework.core.convert.support.ArrayToArrayConverter@7080e8fc org.springframework.core.convert.support.ArrayToCollectionConverter@5d9ac1ff org.springframework.core.convert.support.ArrayToObjectConverter@7c8c6922 org.springframework.core.convert.support.ArrayToStringConverter@3f07eede org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.CollectionToArrayConverter@3f7e72a7 org.springframework.core.convert.support.CollectionToCollectionConverter@8f2513c org.springframework.core.convert.support.CollectionToObjectConverter@196bc2c1 org.springframework.core.convert.support.CollectionToStringConverter@72c8af69 org.springframework.core.convert.support.FallbackObjectToStringConverter@7b9e4a2a org.springframework.core.convert.support.IdToEntityConverter@3b76dfa6,org.springframework.core.convert.support.ObjectToObjectConverter@7b4185ea org.springframework.core.convert.support.MapToMapConverter@66c70e18 org.springframework.core.convert.support.ObjectToArrayConverter@1ea44b7 org.springframework.core.convert.support.ObjectToCollectionConverter@39ae0bff org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.OptionalToObjectConverter@6d921d6b org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StringToArrayConverter@66ade539 org.springframework.core.convert.support.StringToCollectionConverter@7b276a08 grailsTagDateHelper=null codecLookup=org.grails.plugins.codecs.DefaultCodecLookup@59464f08 booleanAttributes=[disabled, checked, readonly, required] springSecurityCsrfTokenClass=null grails_artefact_TagLibrary__rawEncoder=null grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=org.grails.testing.runtime.support.LazyTagLibraryLookup@4d8af13c grails_web_api_WebAttributes__grailsApplication=null grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null> at org.grails.web.taglib.FormTagLibTests.testActionSubmitImageWithAction(FormTagLibTests.groovy:416) ``` |expected|actual| |---|---| |<s><input type="image" name="_action_Edit" value="Some label for editing" src="edit</s>.<s>gif" /></s>|<b>org</b>.<b>grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@23001753</b>| </details> <details> <summary><strong>FormTagLibTests > testActionSubmitImageWithAdditionalAttributes</strong> (:grails-gsp:test in <a href="https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465">CI / Build Grails-Core (macos-latest, 21)</a>)</summary> ``` Condition not satisfied: tagLib.actionSubmitImage(new TreeMap([ src: 'edit.gif', action: 'Edit', value: 'Some label for editing', style:'border-line: 0px;' ])).toString() == '<input type="image" name="_action_Edit" value="Some label for editing" src="edit.gif" style="border-line: 0px;" />' | | | | | | | [style:border-line: 0px;] | false | | | 95 differences (16% similarity) | | | (org.grails.t---)ag(lib.--)e(n---)c(--)o(---)d(er.Outp)u(tEnc)o(--------------)di(--)ng(Sta-)c(k$Ou-)t(pu-----)t(Pr----)o(xyW)r(--)i(t)e(r@28566aad) | | | (<input type="im)ag(e" nam)e(="_a)c(ti)o(n_E)d(it" val)u(e="S)o(me label for e)di(ti)ng(" sr)c(="edi)t(.gif" s)t(yle="b)o(rde)r(-l)i(n)e(: 0px;" />) | | org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@28566aad | <org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@28566aad writerGroup=org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriterGroup@45b244c4 this$0=org.grails.taglib.encoder.OutputEncodingStack@2954be42 factory=org.grails.taglib.encoder.OutputEncodingStack$4@5c65d5c3 destinationActivated=true trouble=false out=org.grails.buffer.CodecPrintWriter@72cec2e2 allowUnwrappingOut=true usageFlag=true streamCharBufferTarget=null previousOut=null writeBuffer=inaccessible lock=inaccessible> <org.grails.plugins.web.taglib.FormTagLib@6ea48ca1 applicationContext=org.springframework.boot.web.context.servlet.AnnotationConfigServletWebApplicationContext@50a1c2f3, started on Wed Apr 29 00:38:39 UTC 2026 requestDataValueProcessor=null conversionService=ConversionService converters = java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@587107c java.lang.Character -> java.lang.Number : org.springframework.core.convert.support.CharacterToNumberFactory@52418721 java.lang.Character -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@7e130e34 java.lang.Enum -> java.lang.Integer : org.springframework.core.convert.support.EnumToIntegerConverter@1fd2f96d java.lang.Enum -> java.lang.String : org.springframework.core.convert.support.EnumToStringConverter@108ed58d java.lang.Integer -> java.lang.Enum : org.springframework.core.convert.support.IntegerToEnumConverterFactory@3b07b706 java.lang.Number -> java.lang.Character : org.springframework.core.convert.support.NumberToCharacterConverter@69bf351e java.lang.Number -> java.lang.Number : org.springframework.core.convert.support.NumberToNumberConverterFactory@4a9fdffe java.lang.Number -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@29e9d47b java.lang.String -> java.lang.Boolean : org.springframework.core.convert.support.StringToBooleanConverter@52d04234 java.lang.String -> java.lang.Character : org.springframework.core.convert.support.StringToCharacterConverter@25b8a2f7 java.lang.String -> java.lang.Enum : org.springframework.core.convert.support.StringToEnumConverterFactory@1c724957 java.lang.String -> java.lang.Number : org.springframework.core.convert.support.StringToNumberConverterFactory@48515dfc java.lang.String -> java.nio.charset.Charset : org.springframework.core.convert.support.StringToCharsetConverter@77d5c4c6 java.lang.String -> java.util.Currency : org.springframework.core.convert.support.StringToCurrencyConverter@6ff879e5 java.lang.String -> java.util.Locale : org.springframework.core.convert.support.StringToLocaleConverter@561b39f4 java.lang.String -> java.util.Properties : org.springframework.core.convert.support.StringToPropertiesConverter@2a6600ab java.lang.String -> java.util.TimeZone : org.springframework.core.convert.support.StringToTimeZoneConverter@75f5293c java.lang.String -> java.util.UUID : org.springframework.core.convert.support.StringToUUIDConverter@9a3d0f4 java.lang.String -> java.util.regex.Pattern : org.springframework.core.convert.support.StringToPatternConverter@654e793f java.nio.charset.Charset -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@22f79c09 java.time.Instant -> java.util.Date : org.springframework.core.convert.support.InstantToDateConverter@171a6fd1 java.time.ZoneId -> java.util.TimeZone : org.springframework.core.convert.support.ZoneIdToTimeZoneConverter@e870441 java.time.ZonedDateTime -> java.util.Calendar : org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter@328a1843 java.util.Currency -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@a929b6 java.util.Date -> java.time.Instant : org.springframework.core.convert.support.DateToInstantConverter@47fb038d java.util.Locale -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@1a48f55b java.util.Properties -> java.lang.String : org.springframework.core.convert.support.PropertiesToStringConverter@65cd37bb java.util.UUID -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@2f7765f1 java.util.regex.Pattern -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@14fe2e62 org.springframework.core.convert.support.ArrayToArrayConverter@7080e8fc org.springframework.core.convert.support.ArrayToCollectionConverter@5d9ac1ff org.springframework.core.convert.support.ArrayToObjectConverter@7c8c6922 org.springframework.core.convert.support.ArrayToStringConverter@3f07eede org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.CollectionToArrayConverter@3f7e72a7 org.springframework.core.convert.support.CollectionToCollectionConverter@8f2513c org.springframework.core.convert.support.CollectionToObjectConverter@196bc2c1 org.springframework.core.convert.support.CollectionToStringConverter@72c8af69 org.springframework.core.convert.support.FallbackObjectToStringConverter@7b9e4a2a org.springframework.core.convert.support.IdToEntityConverter@3b76dfa6,org.springframework.core.convert.support.ObjectToObjectConverter@7b4185ea org.springframework.core.convert.support.MapToMapConverter@66c70e18 org.springframework.core.convert.support.ObjectToArrayConverter@1ea44b7 org.springframework.core.convert.support.ObjectToCollectionConverter@39ae0bff org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.OptionalToObjectConverter@6d921d6b org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StringToArrayConverter@66ade539 org.springframework.core.convert.support.StringToCollectionConverter@7b276a08 grailsTagDateHelper=null codecLookup=org.grails.plugins.codecs.DefaultCodecLookup@59464f08 booleanAttributes=[disabled, checked, readonly, required] springSecurityCsrfTokenClass=null grails_artefact_TagLibrary__rawEncoder=null grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=org.grails.testing.runtime.support.LazyTagLibraryLookup@4d8af13c grails_web_api_WebAttributes__grailsApplication=null grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null> at org.grails.web.taglib.FormTagLibTests.testActionSubmitImageWithAdditionalAttributes(FormTagLibTests.groovy:430) ``` |expected|actual| |---|---| |<s><input type="image" name="_action_Edit" value="Some label for editing" src="edit</s>.<s>gif" style="border-line: 0px;" /></s>|<b>org</b>.<b>grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@28566aad</b>| </details> <details> <summary><strong>FormTagLibTests > testActionSubmitImageWithoutAction</strong> (:grails-gsp:test in <a href="https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465">CI / Build Grails-Core (macos-latest, 21)</a>)</summary> ``` Condition not satisfied: tagLib.actionSubmitImage(new TreeMap([ src: 'edit.gif', value: 'Edit' ])).toString() == '<input type="image" name="_action_Edit" value="Edit" src="edit.gif" />' | | | | | | | [:] | false | | | 65 differences (9% similarity) | | | (org.grails.tagl)i(b.-)e(ncod-)e(r.Outpu)t(E-)n(co)di(ngSt)a(ck$Outpu)t(P--)r(oxyWr)it(er@6d26b068) | | | (<input type="--)i(mag)e(" nam)e(="_ac--)t(io)n(_E)di(t" v)a(lue="Edi)t(" s)r(c="ed)it(.gif" />---) | | org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@6d26b068 | <org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@6d26b068 writerGroup=org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriterGroup@5137526a this$0=org.grails.taglib.encoder.OutputEncodingStack@684138c5 factory=org.grails.taglib.encoder.OutputEncodingStack$4@6724f10e destinationActivated=true trouble=false out=org.grails.buffer.CodecPrintWriter@5a637c4f allowUnwrappingOut=true usageFlag=true streamCharBufferTarget=null previousOut=null writeBuffer=inaccessible lock=inaccessible> <org.grails.plugins.web.taglib.FormTagLib@6ea48ca1 applicationContext=org.springframework.boot.web.context.servlet.AnnotationConfigServletWebApplicationContext@50a1c2f3, started on Wed Apr 29 00:38:39 UTC 2026 requestDataValueProcessor=null conversionService=ConversionService converters = java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@587107c java.lang.Character -> java.lang.Number : org.springframework.core.convert.support.CharacterToNumberFactory@52418721 java.lang.Character -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@7e130e34 java.lang.Enum -> java.lang.Integer : org.springframework.core.convert.support.EnumToIntegerConverter@1fd2f96d java.lang.Enum -> java.lang.String : org.springframework.core.convert.support.EnumToStringConverter@108ed58d java.lang.Integer -> java.lang.Enum : org.springframework.core.convert.support.IntegerToEnumConverterFactory@3b07b706 java.lang.Number -> java.lang.Character : org.springframework.core.convert.support.NumberToCharacterConverter@69bf351e java.lang.Number -> java.lang.Number : org.springframework.core.convert.support.NumberToNumberConverterFactory@4a9fdffe java.lang.Number -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@29e9d47b java.lang.String -> java.lang.Boolean : org.springframework.core.convert.support.StringToBooleanConverter@52d04234 java.lang.String -> java.lang.Character : org.springframework.core.convert.support.StringToCharacterConverter@25b8a2f7 java.lang.String -> java.lang.Enum : org.springframework.core.convert.support.StringToEnumConverterFactory@1c724957 java.lang.String -> java.lang.Number : org.springframework.core.convert.support.StringToNumberConverterFactory@48515dfc java.lang.String -> java.nio.charset.Charset : org.springframework.core.convert.support.StringToCharsetConverter@77d5c4c6 java.lang.String -> java.util.Currency : org.springframework.core.convert.support.StringToCurrencyConverter@6ff879e5 java.lang.String -> java.util.Locale : org.springframework.core.convert.support.StringToLocaleConverter@561b39f4 java.lang.String -> java.util.Properties : org.springframework.core.convert.support.StringToPropertiesConverter@2a6600ab java.lang.String -> java.util.TimeZone : org.springframework.core.convert.support.StringToTimeZoneConverter@75f5293c java.lang.String -> java.util.UUID : org.springframework.core.convert.support.StringToUUIDConverter@9a3d0f4 java.lang.String -> java.util.regex.Pattern : org.springframework.core.convert.support.StringToPatternConverter@654e793f java.nio.charset.Charset -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@22f79c09 java.time.Instant -> java.util.Date : org.springframework.core.convert.support.InstantToDateConverter@171a6fd1 java.time.ZoneId -> java.util.TimeZone : org.springframework.core.convert.support.ZoneIdToTimeZoneConverter@e870441 java.time.ZonedDateTime -> java.util.Calendar : org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter@328a1843 java.util.Currency -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@a929b6 java.util.Date -> java.time.Instant : org.springframework.core.convert.support.DateToInstantConverter@47fb038d java.util.Locale -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@1a48f55b java.util.Properties -> java.lang.String : org.springframework.core.convert.support.PropertiesToStringConverter@65cd37bb java.util.UUID -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@2f7765f1 java.util.regex.Pattern -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@14fe2e62 org.springframework.core.convert.support.ArrayToArrayConverter@7080e8fc org.springframework.core.convert.support.ArrayToCollectionConverter@5d9ac1ff org.springframework.core.convert.support.ArrayToObjectConverter@7c8c6922 org.springframework.core.convert.support.ArrayToStringConverter@3f07eede org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.CollectionToArrayConverter@3f7e72a7 org.springframework.core.convert.support.CollectionToCollectionConverter@8f2513c org.springframework.core.convert.support.CollectionToObjectConverter@196bc2c1 org.springframework.core.convert.support.CollectionToStringConverter@72c8af69 org.springframework.core.convert.support.FallbackObjectToStringConverter@7b9e4a2a org.springframework.core.convert.support.IdToEntityConverter@3b76dfa6,org.springframework.core.convert.support.ObjectToObjectConverter@7b4185ea org.springframework.core.convert.support.MapToMapConverter@66c70e18 org.springframework.core.convert.support.ObjectToArrayConverter@1ea44b7 org.springframework.core.convert.support.ObjectToCollectionConverter@39ae0bff org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.OptionalToObjectConverter@6d921d6b org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StringToArrayConverter@66ade539 org.springframework.core.convert.support.StringToCollectionConverter@7b276a08 grailsTagDateHelper=null codecLookup=org.grails.plugins.codecs.DefaultCodecLookup@59464f08 booleanAttributes=[disabled, checked, readonly, required] springSecurityCsrfTokenClass=null grails_artefact_TagLibrary__rawEncoder=null grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=org.grails.testing.runtime.support.LazyTagLibraryLookup@4d8af13c grails_web_api_WebAttributes__grailsApplication=null grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null> at org.grails.web.taglib.FormTagLibTests.testActionSubmitImageWithoutAction(FormTagLibTests.groovy:395) ``` |expected|actual| |---|---| |<s><input type="image" name="_action_Edit" value="Edit" src="edit</s>.<s>gif" /></s>|<b>org</b>.<b>grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@6d26b068</b>| </details> <details> <summary><strong>FormTagLibTests > testActionSubmitImageWithoutActionAndWithRequestDataValueProcessor</strong> (:grails-gsp:test in <a href="https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465">CI / Build Grails-Core (macos-latest, 21)</a>)</summary> ``` Condition not satisfied: tagLib.actionSubmitImage(new TreeMap([ src: 'edit.gif', value: 'Edit' ])).toString() == '<input type="image" name="_action_Edit" value="Edit_PROCESSED_" src="edit.gif?requestDataValueProcessorParamName=paramValue" />' | | | | | | | [:] | false | | | 105 differences (17% similarity) | | | (org.grails.t---)ag(lib.--)e(n---)c(--)o(---)d(er.Outp)u(------)t(-----)E(n--------)c(o--)di(n-)g(Stack$O)u(--)t(pu)t(------)Pro(xyW--)r(it------)e(---)r(@45)a(824d---) | | | (<input type="im)ag(e" nam)e(="_a)c(ti)o(n_E)d(it" val)u(e="Edi)t(_PROC)E(SSED_" sr)c(="e)di(t.)g(if?req-)u(es)t(Da)t(aValue)Pro(cesso)r(ParamNam)e(=pa)r(amV)a(lue" />) | | org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@45a824d | <org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@45a824d writerGroup=org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriterGroup@530dd2d7 this$0=org.grails.taglib.encoder.OutputEncodingStack@3e6f3ad5 factory=org.grails.taglib.encoder.OutputEncodingStack$4@46e05384 destinationActivated=true trouble=false out=org.grails.buffer.CodecPrintWriter@17563b82 allowUnwrappingOut=true usageFlag=true streamCharBufferTarget=null previousOut=null writeBuffer=inaccessible lock=inaccessible> <org.grails.plugins.web.taglib.FormTagLib@6ea48ca1 applicationContext=org.springframework.boot.web.context.servlet.AnnotationConfigServletWebApplicationContext@50a1c2f3, started on Wed Apr 29 00:38:39 UTC 2026 requestDataValueProcessor=grails.util.MockRequestDataValueProcessor@3a9d6f5d conversionService=ConversionService converters = java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@587107c java.lang.Character -> java.lang.Number : org.springframework.core.convert.support.CharacterToNumberFactory@52418721 java.lang.Character -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@7e130e34 java.lang.Enum -> java.lang.Integer : org.springframework.core.convert.support.EnumToIntegerConverter@1fd2f96d java.lang.Enum -> java.lang.String : org.springframework.core.convert.support.EnumToStringConverter@108ed58d java.lang.Integer -> java.lang.Enum : org.springframework.core.convert.support.IntegerToEnumConverterFactory@3b07b706 java.lang.Number -> java.lang.Character : org.springframework.core.convert.support.NumberToCharacterConverter@69bf351e java.lang.Number -> java.lang.Number : org.springframework.core.convert.support.NumberToNumberConverterFactory@4a9fdffe java.lang.Number -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@29e9d47b java.lang.String -> java.lang.Boolean : org.springframework.core.convert.support.StringToBooleanConverter@52d04234 java.lang.String -> java.lang.Character : org.springframework.core.convert.support.StringToCharacterConverter@25b8a2f7 java.lang.String -> java.lang.Enum : org.springframework.core.convert.support.StringToEnumConverterFactory@1c724957 java.lang.String -> java.lang.Number : org.springframework.core.convert.support.StringToNumberConverterFactory@48515dfc java.lang.String -> java.nio.charset.Charset : org.springframework.core.convert.support.StringToCharsetConverter@77d5c4c6 java.lang.String -> java.util.Currency : org.springframework.core.convert.support.StringToCurrencyConverter@6ff879e5 java.lang.String -> java.util.Locale : org.springframework.core.convert.support.StringToLocaleConverter@561b39f4 java.lang.String -> java.util.Properties : org.springframework.core.convert.support.StringToPropertiesConverter@2a6600ab java.lang.String -> java.util.TimeZone : org.springframework.core.convert.support.StringToTimeZoneConverter@75f5293c java.lang.String -> java.util.UUID : org.springframework.core.convert.support.StringToUUIDConverter@9a3d0f4 java.lang.String -> java.util.regex.Pattern : org.springframework.core.convert.support.StringToPatternConverter@654e793f java.nio.charset.Charset -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@22f79c09 java.time.Instant -> java.util.Date : org.springframework.core.convert.support.InstantToDateConverter@171a6fd1 java.time.ZoneId -> java.util.TimeZone : org.springframework.core.convert.support.ZoneIdToTimeZoneConverter@e870441 java.time.ZonedDateTime -> java.util.Calendar : org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter@328a1843 java.util.Currency -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@a929b6 java.util.Date -> java.time.Instant : org.springframework.core.convert.support.DateToInstantConverter@47fb038d java.util.Locale -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@1a48f55b java.util.Properties -> java.lang.String : org.springframework.core.convert.support.PropertiesToStringConverter@65cd37bb java.util.UUID -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@2f7765f1 java.util.regex.Pattern -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@14fe2e62 org.springframework.core.convert.support.ArrayToArrayConverter@7080e8fc org.springframework.core.convert.support.ArrayToCollectionConverter@5d9ac1ff org.springframework.core.convert.support.ArrayToObjectConverter@7c8c6922 org.springframework.core.convert.support.ArrayToStringConverter@3f07eede org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.CollectionToArrayConverter@3f7e72a7 org.springframework.core.convert.support.CollectionToCollectionConverter@8f2513c org.springframework.core.convert.support.CollectionToObjectConverter@196bc2c1 org.springframework.core.convert.support.CollectionToStringConverter@72c8af69 org.springframework.core.convert.support.FallbackObjectToStringConverter@7b9e4a2a org.springframework.core.convert.support.IdToEntityConverter@3b76dfa6,org.springframework.core.convert.support.ObjectToObjectConverter@7b4185ea org.springframework.core.convert.support.MapToMapConverter@66c70e18 org.springframework.core.convert.support.ObjectToArrayConverter@1ea44b7 org.springframework.core.convert.support.ObjectToCollectionConverter@39ae0bff org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.OptionalToObjectConverter@6d921d6b org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StringToArrayConverter@66ade539 org.springframework.core.convert.support.StringToCollectionConverter@7b276a08 grailsTagDateHelper=null codecLookup=org.grails.plugins.codecs.DefaultCodecLookup@59464f08 booleanAttributes=[disabled, checked, readonly, required] springSecurityCsrfTokenClass=null grails_artefact_TagLibrary__rawEncoder=null grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=org.grails.testing.runtime.support.LazyTagLibraryLookup@4d8af13c grails_web_api_WebAttributes__grailsApplication=null grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null> at org.grails.web.taglib.FormTagLibTests.testActionSubmitImageWithoutActionAndWithRequestDataValueProcessor(FormTagLibTests.groovy:403) ``` |expected|actual| |---|---| |<s><input type="image" name="_action_Edit" value="Edit_PROCESSED_" src="edit</s>.<s>gif?requestDataValueProcessorParamName=paramValue" /></s>|<b>org</b>.<b>grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@45a824d</b>| </details> <details> <summary><strong>FormTagLibTests > testFormActionSubmitWithAURLAndRequestDataValueProcessor</strong> (:grails-gsp:test in <a href="https://github.com/apache/grails-core/actions/runs/25084777942/job/73497843574?pr=15465">CI / Build Grails-Core (macos-latest, 21)</a>)</summary> ``` Condition not satisfied: tagLib.formActionSubmit(new TreeMap([ url: [ controller: 'con', action: 'action', params: [ requestDataValueProcessorParamName: 'paramValue' ] ], id: 'formElementId', value: 'My Button' ])).toString() == '<input type="submit" formaction="/con/action" id="formElementId" value="My Button" />' | | | | | | | [id:formElementId, value:My Button] | false | | | 78 differences (8% similarity) | | | (org.grails.tagli)b(.encode)r(.Ou)t(putEn-)co(di)n(gS-)t(ack$OutputP)r(oxyWri-)t(--------)e(r@65b51977-----) | | | (<input type="su-)b(mit" fo)r(mac)t(ion="/)co(--)n(/ac)t(ion" id="fo)r(mElemen)t(Id" valu)e(="My Button" />) | | org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@65b51977 | <org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@65b51977 writerGroup=org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriterGroup@452c8a6c this$0=org.grails.taglib.encoder.OutputEncodingStack@2dc0cbbc factory=org.grails.taglib.encoder.OutputEncodingStack$4@16b6493d destinationActivated=true trouble=false out=org.grails.buffer.CodecPrintWriter@3bf7c70e allowUnwrappingOut=true usageFlag=true streamCharBufferTarget=null previousOut=null writeBuffer=inaccessible lock=inaccessible> <org.grails.plugins.web.taglib.FormTagLib@6ea48ca1 applicationContext=org.springframework.boot.web.context.servlet.AnnotationConfigServletWebApplicationContext@50a1c2f3, started on Wed Apr 29 00:38:39 UTC 2026 requestDataValueProcessor=grails.util.MockRequestDataValueProcessor@6fa84885 conversionService=ConversionService converters = java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@587107c java.lang.Character -> java.lang.Number : org.springframework.core.convert.support.CharacterToNumberFactory@52418721 java.lang.Character -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@7e130e34 java.lang.Enum -> java.lang.Integer : org.springframework.core.convert.support.EnumToIntegerConverter@1fd2f96d java.lang.Enum -> java.lang.String : org.springframework.core.convert.support.EnumToStringConverter@108ed58d java.lang.Integer -> java.lang.Enum : org.springframework.core.convert.support.IntegerToEnumConverterFactory@3b07b706 java.lang.Number -> java.lang.Character : org.springframework.core.convert.support.NumberToCharacterConverter@69bf351e java.lang.Number -> java.lang.Number : org.springframework.core.convert.support.NumberToNumberConverterFactory@4a9fdffe java.lang.Number -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@29e9d47b java.lang.String -> java.lang.Boolean : org.springframework.core.convert.support.StringToBooleanConverter@52d04234 java.lang.String -> java.lang.Character : org.springframework.core.convert.support.StringToCharacterConverter@25b8a2f7 java.lang.String -> java.lang.Enum : org.springframework.core.convert.support.StringToEnumConverterFactory@1c724957 java.lang.String -> java.lang.Number : org.springframework.core.convert.support.StringToNumberConverterFactory@48515dfc java.lang.String -> java.nio.charset.Charset : org.springframework.core.convert.support.StringToCharsetConverter@77d5c4c6 java.lang.String -> java.util.Currency : org.springframework.core.convert.support.StringToCurrencyConverter@6ff879e5 java.lang.String -> java.util.Locale : org.springframework.core.convert.support.StringToLocaleConverter@561b39f4 java.lang.String -> java.util.Properties : org.springframework.core.convert.support.StringToPropertiesConverter@2a6600ab java.lang.String -> java.util.TimeZone : org.springframework.core.convert.support.StringToTimeZoneConverter@75f5293c java.lang.String -> java.util.UUID : org.springframework.core.convert.support.StringToUUIDConverter@9a3d0f4 java.lang.String -> java.util.regex.Pattern : org.springframework.core.convert.support.StringToPatternConverter@654e793f java.nio.charset.Charset -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@22f79c09 java.time.Instant -> java.util.Date : org.springframework.core.convert.support.InstantToDateConverter@171a6fd1 java.time.ZoneId -> java.util.TimeZone : org.springframework.core.convert.support.ZoneIdToTimeZoneConverter@e870441 java.time.ZonedDateTime -> java.util.Calendar : org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter@328a1843 java.util.Currency -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@a929b6 java.util.Date -> java.time.Instant : org.springframework.core.convert.support.DateToInstantConverter@47fb038d java.util.Locale -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@1a48f55b java.util.Properties -> java.lang.String : org.springframework.core.convert.support.PropertiesToStringConverter@65cd37bb java.util.UUID -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@2f7765f1 java.util.regex.Pattern -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@14fe2e62 org.springframework.core.convert.support.ArrayToArrayConverter@7080e8fc org.springframework.core.convert.support.ArrayToCollectionConverter@5d9ac1ff org.springframework.core.convert.support.ArrayToObjectConverter@7c8c6922 org.springframework.core.convert.support.ArrayToStringConverter@3f07eede org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.ByteBufferConverter@39ee039d org.springframework.core.convert.support.CollectionToArrayConverter@3f7e72a7 org.springframework.core.convert.support.CollectionToCollectionConverter@8f2513c org.springframework.core.convert.support.CollectionToObjectConverter@196bc2c1 org.springframework.core.convert.support.CollectionToStringConverter@72c8af69 org.springframework.core.convert.support.FallbackObjectToStringConverter@7b9e4a2a org.springframework.core.convert.support.IdToEntityConverter@3b76dfa6,org.springframework.core.convert.support.ObjectToObjectConverter@7b4185ea org.springframework.core.convert.support.MapToMapConverter@66c70e18 org.springframework.core.convert.support.ObjectToArrayConverter@1ea44b7 org.springframework.core.convert.support.ObjectToCollectionConverter@39ae0bff org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.ObjectToOptionalConverter@12d49ede org.springframework.core.convert.support.OptionalToObjectConverter@6d921d6b org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StreamConverter@705606ac org.springframework.core.convert.support.StringToArrayConverter@66ade539 org.springframework.core.convert.support.StringToCollectionConverter@7b276a08 grailsTagDateHelper=null codecLookup=org.grails.plugins.codecs.DefaultCodecLookup@59464f08 booleanAttributes=[disabled, checked, readonly, required] springSecurityCsrfTokenClass=null grails_artefact_TagLibrary__rawEncoder=null grails_artefact_gsp_TagLibraryInvoker__developmentMode=false grails_artefact_gsp_TagLibraryInvoker__tagLibraryLookup=org.grails.testing.runtime.support.LazyTagLibraryLookup@4d8af13c grails_web_api_WebAttributes__grailsApplication=null grails_web_api_ServletAttributes__applicationContext=null grails_web_api_ServletAttributes__servletContext=null> at org.grails.web.taglib.FormTagLibTests.testFormActionSubmitWithAURLAndRequestDataValueProcessor(FormTagLibTests.groovy:364) ``` |expected|actual| |---|---| |<s><input type="submit" formaction="/con/action" id="formElementId" value="My Button" /></s>|<b>org.grails.taglib.encoder.OutputEncodingStack$OutputProxyWriter@65b51977</b>| </details> ### Muted Tests > [!NOTE] > Checks are currently running using the configuration below. Select tests to mute in this pull request: 🔲 FormTagLibTests > testActionSubmitImageWithAction <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_26] --> 🔲 FormTagLibTests > testActionSubmitImageWithAdditionalAttributes <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_27] --> 🔲 FormTagLibTests > testActionSubmitImageWithoutAction <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_24] --> 🔲 FormTagLibTests > testActionSubmitImageWithoutActionAndWithRequestDataValueProcessor <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_25] --> 🔲 FormTagLibTests > testFormActionSubmitWithAURLAndRequestDataValueProcessor <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_22] --> 🔲 FormTagLibTests > testFormActionSubmitWithAURLAndWithoutRequestDataValueProcessor <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_23] --> 🔲 FormTagLibTests > testFormActionSubmitWithController <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_19] --> 🔲 FormTagLibTests > testFormActionSubmitWithControllerAndAction <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_20] --> 🔲 FormTagLibTests > testFormActionSubmitWithURLAndNoParams <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_21] --> 🔲 FormTagLibTests > testFormWithURL <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_17] --> 🔲 FormTagLibTests > testFormWithURLAndRequestDataValueProcessor <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_18] --> 🔲 FormTagLibTests > testHtmlEscapingTextAreaTag <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_28] --> 🔲 FormTagLibTests > testTextAreaTag <!-- uniqueId=[engine:spock]/[spec:org.grails.web.taglib.FormTagLibTests]/[feature:$spock_feature_0_29] --> Reuse successful test results: 🔲 ♻️ Only rerun the tests that failed or were muted before Click the checkbox to trigger a rerun: 🔲 **Rerun jobs** --- _Learn more about TestLens at [testlens.app](https://testlens.app)._ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
