[ https://issues.apache.org/jira/browse/GROOVY-7368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14740515#comment-14740515 ]
Ronny Løvtangen commented on GROOVY-7368: ----------------------------------------- Hope this is not intentional. > Change In Behavior For MetaMethods Replacing Private Methods > ------------------------------------------------------------ > > Key: GROOVY-7368 > URL: https://issues.apache.org/jira/browse/GROOVY-7368 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime > Affects Versions: 2.4.3 > Reporter: Jeff Brown > Attachments: privatemethods.zip > > > The attached privatemethods.zip contains the following: > {code:borderStyle=solid|title=src/main/groovy/demo/Widget.groovy} > package demo > class Widget { > def somePublicMethod() { > 'real value' > } > private somePrivateMethod() { > 'real value' > } > } > {code} > {code:borderStyle=solid|title=src/test/groovy/demo/WidgetSpec.groovy} > package demo > import spock.lang.Specification > class WidgetSpec extends Specification { > void 'test meta methods'() { > when: 'a public method is replaced at runtime' > Widget.metaClass.somePublicMethod = { -> > 'test value' > } > then: 'the meta method is used' > 'test value' == new Widget().somePublicMethod() > when: 'a private method is replaced at runtime' > Widget.metaClass.somePrivateMethod = { -> > 'test value' > } > then: 'the meta method is used' > // This one passes with Groovy 2.3.11 and fails with 2.4.3 > 'test value' == new Widget().somePrivateMethod() > } > } > {code} > {code:borderStyle=solid|title=build.gradle} > apply plugin: 'groovy' > repositories { > jcenter() > } > dependencies { > boolean useGroovy24 = true > if(useGroovy24) { > compile 'org.codehaus.groovy:groovy-all:2.4.3' > compile 'org.spockframework:spock-core:1.0-groovy-2.4' > } else { > compile 'org.codehaus.groovy:groovy-all:2.3.11' > compile 'org.spockframework:spock-core:1.0-groovy-2.3' > } > } > {code} > The tests can be run with the following: > {noformat} > ./gradlew test > {noformat} > Is the change in behavior with respect to private methods here intentional? -- This message was sent by Atlassian JIRA (v6.3.4#6332)