def test__find_view_traversal_multiview(self): from zope.interface import implementer from zope.interface import providedBy from pyramid.interfaces import IRequest from pyramid.interfaces import IViewClassifier from pyramid.interfaces import IMultiView from pyramid.traversal import DefaultRootFactory from pyramid.registry import Registry registry = Registry() @implementer(IMultiView) class View1(object): pass request = dummy.DummyRequest({'PATH_INFO': '/a'}) root = DefaultRootFactory(request) root_iface = providedBy(root) view = View1() registry.registerAdapter(view, (IViewClassifier, IRequest, root_iface), IMultiView, name='a') self._register_mapper(registry, []) command = self._makeOne(registry=registry) result = command._find_view('/a', registry) self.assertEqual(result, view)
def test__find_multi_routes_none_match(self): command = self._makeOne() def factory(request): pass routes = [dummy.DummyRoute('a', '/a', factory=factory), dummy.DummyRoute('b', '/a', factory=factory)] mapper = dummy.DummyMapper(*routes) request = dummy.DummyRequest({'PATH_INFO':'/a'}) result = command._find_multi_routes(mapper, request) self.assertEqual(result, [])
def test__find_multi_routes_all_match(self): command = self._makeOne() def factory(request): pass routes = [dummy.DummyRoute('a', '/a', factory=factory, matchdict={}), dummy.DummyRoute('b', '/a', factory=factory, matchdict={})] mapper = dummy.DummyMapper(*routes) request = dummy.DummyRequest({'PATH_INFO':'/a'}) result = command._find_multi_routes(mapper, request) self.assertEqual(result, [{'match':{}, 'route':routes[0]}, {'match':{}, 'route':routes[1]}])