@Test
public void testRenderContext() throws IOException {
Request request = createMock(Request.class);
Map<String, Object> requestScope = createMock(Map.class);
Deque<AttributeContext> deque = createMock(Deque.class);
AttributeContext attributeContext = createMock(AttributeContext.class);
ViewPreparer preparer = createMock(ViewPreparer.class);
Attribute templateAttribute = createMock(Attribute.class);
Renderer renderer = createMock(Renderer.class);
AttributeEvaluator evaluator = createMock(AttributeEvaluator.class);
expect(request.getContext("request")).andReturn(requestScope);
expect(requestScope.get(ATTRIBUTE_CONTEXT_STACK)).andReturn(deque);
expect(deque.isEmpty()).andReturn(false);
expect(deque.peek()).andReturn(attributeContext);
expect(attributeContext.getPreparer()).andReturn(null);
expect(attributeContext.getTemplateAttribute()).andReturn(templateAttribute);
expect(templateAttribute.getRenderer()).andReturn("renderer");
expect(rendererFactory.getRenderer("renderer")).andReturn(renderer);
expect(attributeEvaluatorFactory.getAttributeEvaluator(templateAttribute)).andReturn(evaluator);
expect(evaluator.evaluate(templateAttribute, request)).andReturn("/mytemplate.jsp");
expect(templateAttribute.isPermitted(request)).andReturn(true);