diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockServletContext.java b/spring-test/src/main/java/org/springframework/mock/web/MockServletContext.java
index b88fa814485..0fb98f2b68f 100644
--- a/spring-test/src/main/java/org/springframework/mock/web/MockServletContext.java
+++ b/spring-test/src/main/java/org/springframework/mock/web/MockServletContext.java
@@ -63,7 +63,7 @@ import org.springframework.web.util.WebUtils;
* through {@link #setMajorVersion}/{@link #setMinorVersion}; default is 3.0.
* Note that Servlet 3.0 support is limited: servlet, filter and listener
* registration methods are not supported; neither is JSP configuration.
- * We generally do not recommend to unit-test your ServletContainerInitializers and
+ * We generally do not recommend to unit test your ServletContainerInitializers and
* WebApplicationInitializers which is where those registration methods would be used.
*
*
Used for testing the Spring web framework; only rarely necessary for testing
@@ -605,14 +605,22 @@ public class MockServletContext implements ServletContext {
throw new UnsupportedOperationException();
}
+ /**
+ * This method always returns {@code null}.
+ * @see javax.servlet.ServletContext#getServletRegistration(java.lang.String)
+ */
@Override
public ServletRegistration getServletRegistration(String servletName) {
- throw new UnsupportedOperationException();
+ return null;
}
+ /**
+ * This method always returns an {@linkplain Collections#emptyMap empty map}.
+ * @see javax.servlet.ServletContext#getServletRegistrations()
+ */
@Override
public Map getServletRegistrations() {
- throw new UnsupportedOperationException();
+ return Collections.emptyMap();
}
@Override
@@ -635,14 +643,22 @@ public class MockServletContext implements ServletContext {
throw new UnsupportedOperationException();
}
+ /**
+ * This method always returns {@code null}.
+ * @see javax.servlet.ServletContext#getFilterRegistration(java.lang.String)
+ */
@Override
public FilterRegistration getFilterRegistration(String filterName) {
- throw new UnsupportedOperationException();
+ return null;
}
+ /**
+ * This method always returns an {@linkplain Collections#emptyMap empty map}.
+ * @see javax.servlet.ServletContext#getFilterRegistrations()
+ */
@Override
public Map getFilterRegistrations() {
- throw new UnsupportedOperationException();
+ return Collections.emptyMap();
}
@Override
diff --git a/spring-test/src/test/java/org/springframework/mock/web/MockServletContextTests.java b/spring-test/src/test/java/org/springframework/mock/web/MockServletContextTests.java
index 177977f32ce..83fd14cc052 100644
--- a/spring-test/src/test/java/org/springframework/mock/web/MockServletContextTests.java
+++ b/spring-test/src/test/java/org/springframework/mock/web/MockServletContextTests.java
@@ -16,16 +16,18 @@
package org.springframework.mock.web;
+import java.util.Map;
import java.util.Set;
import javax.activation.FileTypeMap;
import javax.activation.MimetypesFileTypeMap;
+import javax.servlet.FilterRegistration;
import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletRegistration;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;
-
import static org.junit.Assert.*;
/**
@@ -147,4 +149,40 @@ public class MockServletContextTests {
assertEquals(newDefault, response.getForwardedUrl());
}
+ /**
+ * @since 4.1.2
+ */
+ @Test
+ public void getServletRegistration() {
+ assertNull(sc.getServletRegistration("servlet"));
+ }
+
+ /**
+ * @since 4.1.2
+ */
+ @Test
+ public void getServletRegistrations() {
+ Map servletRegistrations = sc.getServletRegistrations();
+ assertNotNull(servletRegistrations);
+ assertEquals(0, servletRegistrations.size());
+ }
+
+ /**
+ * @since 4.1.2
+ */
+ @Test
+ public void getFilterRegistration() {
+ assertNull(sc.getFilterRegistration("filter"));
+ }
+
+ /**
+ * @since 4.1.2
+ */
+ @Test
+ public void getFilterRegistrations() {
+ Map filterRegistrations = sc.getFilterRegistrations();
+ assertNotNull(filterRegistrations);
+ assertEquals(0, filterRegistrations.size());
+ }
+
}