Revision: 882330dad166
Author: Christian Edward Gruber <cgru...@google.com>
Date: Wed May 15 18:59:34 2013
Log: HttpServletRequest#getCookies() can return null; checks that in
ContinuingHttpServletRequest.
-------------------
Manually Synced.
COMMIT=42047244
http://code.google.com/p/google-guice/source/detail?r=882330dad166
Added:
/extensions/servlet/test/com/google/inject/servlet/ContinuingHttpServletRequestTest.java
Modified:
/extensions/servlet/src/com/google/inject/servlet/ContinuingHttpServletRequest.java
/extensions/servlet/test/com/google/inject/servlet/AllTests.java
=======================================
--- /dev/null
+++
/extensions/servlet/test/com/google/inject/servlet/ContinuingHttpServletRequestTest.java
Wed May 15 18:59:34 2013
@@ -0,0 +1,58 @@
+/**
+ * Copyright (C) 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.inject.servlet;
+
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+
+import junit.framework.TestCase;
+
+import java.util.Arrays;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
+public class ContinuingHttpServletRequestTest extends TestCase {
+
+ public void testReturnNullCookiesIfDelegateHasNoNull() {
+ HttpServletRequest delegate = createMock(HttpServletRequest.class);
+ expect(delegate.getCookies()).andStubReturn(null);
+
+ replay(delegate);
+
+ assertNull(new ContinuingHttpServletRequest(delegate).getCookies());
+
+ verify(delegate);
+ }
+
+ public void testReturnDelegateCookies() {
+ Cookie[] cookies = new Cookie[]{
+ new Cookie("testName1", "testValue1"),
+ new Cookie("testName2", "testValue2")
+ };
+ HttpServletRequest delegate = createMock(HttpServletRequest.class);
+ expect(delegate.getCookies()).andStubReturn(cookies);
+
+ replay(delegate);
+
+ assertTrue(Arrays.equals(cookies,
+ new ContinuingHttpServletRequest(delegate).getCookies()));
+
+ verify(delegate);
+ }
+}
=======================================
---
/extensions/servlet/src/com/google/inject/servlet/ContinuingHttpServletRequest.java
Thu Jul 7 17:34:16 2011
+++
/extensions/servlet/src/com/google/inject/servlet/ContinuingHttpServletRequest.java
Wed May 15 18:59:34 2013
@@ -68,6 +68,9 @@
}
@Override public Cookie[] getCookies() {
+ if (super.getCookies() == null) {
+ return null;
+ }
// TODO(dhanji): Cookies themselves are mutable. Is this a problem?
return super.getCookies().clone();
}
=======================================
--- /extensions/servlet/test/com/google/inject/servlet/AllTests.java Sun
Sep 26 15:04:09 2010
+++ /extensions/servlet/test/com/google/inject/servlet/AllTests.java Wed
May 15 18:59:34 2013
@@ -41,6 +41,7 @@
suite.addTestSuite(ServletPipelineRequestDispatcherTest.class);
suite.addTestSuite(ServletDispatchIntegrationTest.class);
suite.addTestSuite(InvalidScopeBindingTest.class);
+ suite.addTestSuite(ContinuingHttpServletRequestTest.class);
// Varargs URL mapping tests.
suite.addTestSuite(VarargsFilterDispatchIntegrationTest.class);
--
You received this message because you are subscribed to the Google Groups
"google-guice-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to google-guice-dev+unsubscr...@googlegroups.com.
To post to this group, send email to google-guice-dev@googlegroups.com.
Visit this group at http://groups.google.com/group/google-guice-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.