Sorry for the wait, it took me a while to extract a reproducible testcase from our code. I think I've constructed a reproduction now (see testcase-weld-2501.tar.gz) by basing it on what exactly we were doing. I've included a check to make sure the decorator itself was working . When I run Weld2501Test using `mvn -Dtest=Weld2501Test test` I get:
------------------------------------------------------- |
T E S T S |
------------------------------------------------------- |
Running org.jboss.weld.tests.decorators.defaultmethod.weld2501.Weld2501Test |
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec <<< FAILURE! - in org.jboss.weld.tests.decorators.defaultmethod.weld2501.Weld2501Test |
testDefaultMethodGetsIntercepted(org.jboss.weld.tests.decorators.defaultmethod.weld2501.Weld2501Test) Time elapsed: 0.044 sec <<< FAILURE! |
java.lang.AssertionError: A method with default implementation in an interface should be decorated even when the bean does not override it and it is the *only* decorated method expected:<2> but was:<1> |
at org.jboss.weld.tests.decorators.defaultmethod.weld2501.Weld2501Test.testDefaultMethodGetsIntercepted(Weld2501Test.java:61) |
|
|
Results : |
|
Failed tests: |
Weld2501Test.testDefaultMethodGetsIntercepted:61 A method with default implementation in an interface should be decorated even when the bean does not override it and it is the *only* decorated method expected:<2> but was:<1> |
|
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
|
Funnily enough, the test succeeds if I remove the abstract class from in between the interface and the concrete bean class. I'm not sure why. |