summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>2012-06-08 12:31:50 +0200
committerLorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>2012-06-08 12:31:50 +0200
commit34f00aede8634810164baaac0fd9214b683ff181 (patch)
tree3949ee3d53f8f8f8394576c90a67482bb254752a
parent566a2a641a03b2d4bec6b19e8d20148dbc2769b4 (diff)
downloadpyramid-34f00aede8634810164baaac0fd9214b683ff181.tar.gz
pyramid-34f00aede8634810164baaac0fd9214b683ff181.tar.bz2
pyramid-34f00aede8634810164baaac0fd9214b683ff181.zip
RFC 2616 sec. 3.7 case insensitive match test
Since "... The type, subtype, and parameter attribute names are case- insensitive..." the type and subtype in the accept parameter in add_view should be treated in a case insensitive way.
-rw-r--r--pyramid/tests/test_config/test_views.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/pyramid/tests/test_config/test_views.py b/pyramid/tests/test_config/test_views.py
index 9b46f83c9..4e1be2190 100644
--- a/pyramid/tests/test_config/test_views.py
+++ b/pyramid/tests/test_config/test_views.py
@@ -645,6 +645,26 @@ class TestViewsConfigurationMixin(unittest.TestCase):
request.accept = DummyAccept('text/html', 'text/html')
self.assertEqual(wrapper(None, request), 'OK2')
+ def test_add_view_mixed_case_replaces_existing_view(self):
+ from pyramid.renderers import null_renderer
+ def view(context, request): return 'OK'
+ def view2(context, request): return 'OK2'
+ def view3(context, request): return 'OK3'
+ def get_val(obj, key):
+ return obj.get(key)
+ config = self._makeOne(autocommit=True)
+ config.add_view(view=view, renderer=null_renderer)
+ config.add_view(view=view2, accept='text/html', renderer=null_renderer)
+ config.add_view(view=view3, accept='text/HTML', renderer=null_renderer)
+ wrapper = self._getViewCallable(config)
+ self.assertTrue(IMultiView.providedBy(wrapper))
+ self.assertEqual(len(wrapper.media_views.items()),1)
+ self.assertFalse(wrapper.media_views.has_key('text/HTML'))
+ self.assertEqual(wrapper(None, None), 'OK')
+ request = DummyRequest()
+ request.accept = DummyAccept('text/html', 'text/html')
+ self.assertEqual(wrapper(None, request), 'OK3')
+
def test_add_views_with_accept_multiview_replaces_existing(self):
from pyramid.renderers import null_renderer
def view(context, request): return 'OK'