Jeremy Sss created WICKET-6092:
----------------------------------
Summary: MockHttpServletResponse causes AbstractMethodError during
unit tests
Key: WICKET-6092
URL: https://issues.apache.org/jira/browse/WICKET-6092
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 7.2.0, 6.21.0
Reporter: Jeremy Sss
Priority: Minor
As early as Wicket 6.x the Wicket documentation has specified that it supports
Java's Servlet API v2.5 or newer. Java's Servlet API v3.x specifies that
classes who implement the HttpServletResponse interface must implement the
getHeaderNames() method which returns the type Collection<String>
(http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponseWrapper.html#getHeaderNames--).
While preforming unit tests using WicketTester, Wicket helpfully uses the
MockHttpServletResponse class which defines a getHeaderNames() method that
returns type Set<String>
(https://ci.apache.org/projects/wicket/apidocs/7.x/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.html#getHeaderNames()).
While running unit tests for code that makes use of the getHeaderNames()
method, an AbstractMethodError is thrown due to the incorrect method signature.
Wicket's MockHttpServletResponse should implement and override the
getHeaderNames() method with the same signature as defined in
HttpServletResponse.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)