[ 
https://issues.apache.org/jira/browse/GROOVY-7338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul King resolved GROOVY-7338.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 2.4.4
         Assignee: Paul King

Applied, thanks!

> URL getText(requestProperties) Map doesn't accept a GString 
> ------------------------------------------------------------
>
>                 Key: GROOVY-7338
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7338
>             Project: Groovy
>          Issue Type: Bug
>            Reporter: Eric Helgeson
>            Assignee: Paul King
>             Fix For: 2.4.4
>
>
> Many times you construct a header with multiple values then pass it to 
> requestProperties map. It would be more groovy if it accepted a GString 
> instead of having to cast it to a String
> {code}
> # Less Groovy - 
> url.getText(requestProperties:[Authentication:"Basic $auth".toString()]) == 
> 'Groovy a:b'
> # More Groovy - 
>  url.getText(requestProperties:[Authentication:"Basic $auth"]) == 'Groovy a:b'
> {code}
> Exception - 
> {code}
> :test
> org.codehaus.groovy.runtime.URLGetTextTest > testGetTextFromURLWithParameters 
> FAILED
>     java.lang.ClassCastException: org.codehaus.groovy.runtime.GStringImpl 
> cannot be cast to java.lang.String
>         at 
> org.codehaus.groovy.runtime.ResourceGroovyMethods.configuredInputStream(ResourceGroovyMethods.java:2026)
>         at 
> org.codehaus.groovy.runtime.ResourceGroovyMethods.newReader(ResourceGroovyMethods.java:2132)
>         at 
> org.codehaus.groovy.runtime.ResourceGroovyMethods.getText(ResourceGroovyMethods.java:665)
>         at 
> org.codehaus.groovy.runtime.ResourceGroovyMethods.getText(ResourceGroovyMethods.java:633)
>         at org.codehaus.groovy.runtime.dgm$965.invoke(Unknown Source)
>         at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:271)
>         at 
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
>         at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)
>         at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)
>         at 
> org.codehaus.groovy.runtime.URLGetTextTest.testGetTextFromURLWithParameters(URLGetTextTest.groovy:57)
> 1 test completed, 1 failed
> :test FAILED
> {code}
> Test - 
> {code}
> diff --git a/src/test/org/codehaus/groovy/runtime/URLGetTextTest.groovy 
> b/src/test/org/codehaus/groovy/runtime/URLGetTextTest.groovy
> index 8a037e5..29a5f59 100644
> --- a/src/test/org/codehaus/groovy/runtime/URLGetTextTest.groovy
> +++ b/src/test/org/codehaus/groovy/runtime/URLGetTextTest.groovy
> @@ -53,6 +53,9 @@ class URLGetTextTest extends GroovyTestCase {
>  
>          assert url.getText(requestProperties:[a:'b']) == 'Groovy a:b'
>  
> +        def b = "b"
> +        assert url.getText(requestProperties:[a:"$b"]) == 'Groovy a:b'
> +
>          assert url.getText(useCaches:true, requestProperties:[a:'b']) == 
> 'Groovy cached a:b'
>  
>          assert url.getText() == url.getText()
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to