You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2009/01/11 22:44:53 UTC
svn commit: r733522 [2/2] - in /tapestry/tapestry5/trunk: src/site/apt/guide/
tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/
tapestry-core/src/main/java/org/apache/tapestry5/internal/services/
tapestry-core/src/main/java/org/apach...
Copied: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java (from r728733, tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkFactoryImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java?p2=tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkFactoryImplTest.java&r1=728733&r2=733522&rev=733522&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkFactoryImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LinkSourceImplTest.java Sun Jan 11 13:44:52 2009
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -21,14 +21,13 @@
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.ContextPathEncoder;
import org.apache.tapestry5.services.LinkCreationListener;
-import org.apache.tapestry5.services.Request;
-import org.apache.tapestry5.services.Response;
import org.easymock.Capture;
import static org.easymock.EasyMock.capture;
+import static org.easymock.EasyMock.eq;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-public class LinkFactoryImplTest extends InternalBaseTestCase
+public class LinkSourceImplTest extends InternalBaseTestCase
{
private ContextPathEncoder contextPathEncoder;
@@ -41,44 +40,44 @@
@Test
public void create_page_render_link()
{
- testPageLinkCreation("order/Edit", "/context/order/edit", false);
+ testPageLinkCreation("order/Edit", "order/edit", false);
}
@Test
public void create_page_render_link_for_index_page()
{
- testPageLinkCreation("order/Index", "/context/order", false);
+ testPageLinkCreation("order/Index", "order", false);
}
@Test
public void create_page_render_link_for_index_page_with_context()
{
- testPageLinkCreation("order/Index", "/context/order/99", false, 99);
+ testPageLinkCreation("order/Index", "order/99", false, 99);
}
@Test
public void create_page_render_link_to_root_index_page()
{
- testPageLinkCreation("Index", "/context", false);
+ testPageLinkCreation("Index", "", false);
}
@Test
- public void creat_page_render_link_to_root_index_page_with_context()
+ public void create_page_render_link_to_root_index_page_with_context()
{
- testPageLinkCreation("Index", "/context/202", false, 202);
+ testPageLinkCreation("Index", "202", false, 202);
}
@Test
public void create_page_render_link_with_override_event_context()
{
- testPageLinkCreation("order/Edit", "/context/order/edit/1/2", true, 1, 2);
+ testPageLinkCreation("order/Edit", "order/edit/1/2", true, 1, 2);
}
@Test
public void create_page_render_link_with_event_context_from_passivate()
{
- testPageLinkCreation("order/Edit", "/context/order/edit/from/passivate", false, "from", "passivate");
+ testPageLinkCreation("order/Edit", "order/edit/from/passivate", false, "from", "passivate");
}
@Test
@@ -86,17 +85,11 @@
{
String logicalName = "order/Edit";
- String expectedURL = "/base/context/order/edit/3";
- String encodedURL = "encoded:" + expectedURL;
-
Page page = mockPage();
PageActivationContextCollector collector = mockPageActivationContextCollector();
- RequestSecurityManager securityManager = mockRequestSecurityManager();
- Request request = mockRequest();
- Response response = mockResponse();
- ComponentInvocationMap invocationMap = new NoOpComponentInvocationMap();
- RequestPathOptimizer optimizer = mockRequestPathOptimizer();
RequestPageCache pageCache = mockRequestPageCache();
+ LinkFactory factory = mockLinkFactory();
+ Link link = mockLink();
train_get(pageCache, logicalName, page);
@@ -104,90 +97,77 @@
train_collectPageActivationContext(collector, page, 3);
- train_getBaseURL(securityManager, page, "/base");
- train_getContextPath(request, "/context");
-
- train_encodeURL(response, expectedURL, encodedURL);
+ Capture<ComponentInvocation> holder = train_create(factory, page, link);
replay();
- LinkFactory factory = new LinkFactoryImpl(request, response, invocationMap, pageCache, optimizer, null,
- securityManager, contextPathEncoder, collector);
+ LinkSource source = new LinkSourceImpl(pageCache, null,
+ contextPathEncoder, collector, factory);
- Link link = factory.createPageRenderLink(logicalName, false);
+ Link actual = source.createPageRenderLink(logicalName, false);
// Make sure the same link is returned.
- assertEquals(link.toURI(), encodedURL);
+ assertEquals(actual, link);
+
+ assertEquals(holder.getValue().buildURI(), "order/edit/3");
verify();
}
- private void testPageLinkCreation(String logicalName, String expectedURL, boolean overrideContext,
+ private void testPageLinkCreation(String logicalName, String expectedURI, boolean overrideContext,
Object... context)
{
- String optimizedURL = "optimized:" + expectedURL;
- String encodedURL = "encoded:" + expectedURL;
-
Page page = mockPage();
PageActivationContextCollector collector = mockPageActivationContextCollector();
- RequestSecurityManager securityManager = mockRequestSecurityManager();
- Request request = mockRequest();
- Response response = mockResponse();
- ComponentInvocationMap invocationMap = new NoOpComponentInvocationMap();
- RequestPathOptimizer optimizer = mockRequestPathOptimizer();
- Capture<Link> linkCapture = new Capture();
LinkCreationListener listener = mockLinkCreationListener();
+ LinkFactory factory = mockLinkFactory();
+ Capture<ComponentInvocation> holder = new Capture<ComponentInvocation>();
+ Link link = mockLink();
train_getLogicalName(page, logicalName);
if (!overrideContext)
train_collectPageActivationContext(collector, page, context);
- train_getBaseURL(securityManager, page, null);
- train_getContextPath(request, "/context");
-
-
- train_optimizePath(optimizer, expectedURL, optimizedURL);
- train_encodeURL(response, optimizedURL, encodedURL);
+ expect(factory.create(eq(page), capture(holder))).andReturn(link);
- listener.createdPageRenderLink(capture(linkCapture));
+ listener.createdPageRenderLink(link);
replay();
+ LinkSource source = new LinkSourceImpl(null, null,
+ contextPathEncoder, collector, factory);
- LinkFactory factory = new LinkFactoryImpl(request, response, invocationMap, null, optimizer, null,
- securityManager, contextPathEncoder, collector);
-
- factory.getLinkCreationHub().addListener(listener);
+ source.getLinkCreationHub().addListener(listener);
Object[] passedContext = overrideContext ? context : new Object[0];
- Link link = factory.createPageRenderLink(page, overrideContext, passedContext);
-
- // Make sure the same link is returned.
+ Link returnedLink = source.createPageRenderLink(page, overrideContext, passedContext);
- assertSame(linkCapture.getValue(), link);
+ assertSame(returnedLink, link);
- assertEquals(link.toURI(), encodedURL);
+ assertEquals(holder.getValue().buildURI(), expectedURI);
verify();
}
+ protected final LinkFactory mockLinkFactory() {return newMock(LinkFactory.class);}
+
@Test
public void simple_component_event_link()
{
- testEventLinkCreation("/context/order/edit.foo.bar?t:ac=a/b", "order/Edit", "foo.bar", EventConstants.ACTION,
+ testEventLinkCreation("order/edit.foo.bar?t:ac=a/b", "order/Edit", "foo.bar", EventConstants.ACTION,
false);
}
@Test
public void component_event_link_with_context()
{
- testEventLinkCreation("/context/order/edit.foo.bar/fred/barney?t:ac=a/b", "order/Edit", "foo.bar",
+ testEventLinkCreation("order/edit.foo.bar/fred/barney?t:ac=a/b", "order/Edit", "foo.bar",
EventConstants.ACTION,
false, "fred", "barney");
}
@@ -195,11 +175,11 @@
@Test
public void component_event_link_for_form()
{
- Link link = testEventLinkCreation("/context/order/edit.foo.bar/fred/barney", "order/Edit", "foo.bar",
- EventConstants.ACTION,
- true, "fred", "barney");
+ testEventLinkCreation("order/edit.foo.bar/fred/barney", "order/Edit", "foo.bar",
+ EventConstants.ACTION,
+ true, "fred", "barney");
- assertEquals(link.getParameterValue(InternalConstants.PAGE_CONTEXT_NAME), "a/b");
+ // assertEquals(link.getParameterValue(InternalConstants.PAGE_CONTEXT_NAME), "a/b");
}
@Test
@@ -207,19 +187,13 @@
{
String logicalName = "blocks/AppDisplay";
- String expectedURL = "/base/context/order/view.gnip.gnop:myevent/3/5/9";
-
Page primaryPage = mockPage();
Page activePage = mockPage();
PageRenderQueue queue = mockPageRenderQueue();
PageActivationContextCollector collector = mockPageActivationContextCollector();
- RequestSecurityManager securityManager = mockRequestSecurityManager();
- Request request = mockRequest();
- Response response = mockResponse();
- ComponentInvocationMap invocationMap = new NoOpComponentInvocationMap();
- RequestPathOptimizer optimizer = mockRequestPathOptimizer();
+ LinkFactory factory = mockLinkFactory();
+ Link link = mockLink();
- String encodedURL = "encoded:" + expectedURL;
train_getRenderingPage(queue, activePage);
@@ -228,45 +202,32 @@
train_collectPageActivationContext(collector, activePage, "x", "y");
- train_getBaseURL(securityManager, activePage, "/base");
-
- train_getContextPath(request, "/context");
-
- train_encodeURL(response, expectedURL, encodedURL);
+ Capture<ComponentInvocation> holder = train_create(factory, activePage, link);
+ link.addParameter(InternalConstants.CONTAINER_PAGE_NAME, "blocks/appdisplay");
replay();
- LinkFactory factory = new LinkFactoryImpl(request, response, invocationMap, null, optimizer, queue,
- securityManager, contextPathEncoder, collector);
+ LinkSource source = new LinkSourceImpl(null, queue,
+ contextPathEncoder, collector, factory);
- Link link = factory.createComponentEventLink(primaryPage, "gnip.gnop", "myevent", true, 3, 5, 9);
-
- assertEquals(link.toURI(), encodedURL);
+ assertSame(source.createComponentEventLink(primaryPage, "gnip.gnop", "myevent", true, 3, 5, 9), link);
verify();
- assertEquals(link.getParameterValue(InternalConstants.CONTAINER_PAGE_NAME), "blocks/appdisplay");
- assertEquals(link.getParameterValue(InternalConstants.PAGE_CONTEXT_NAME), "x/y");
+ assertEquals(holder.getValue().buildURI(), "order/view.gnip.gnop:myevent/3/5/9");
}
- private Link testEventLinkCreation(String expectedURL, String logicalName, String nestedId, String eventType,
+ private void testEventLinkCreation(String expectedURI, String logicalName, String nestedId,
+ String eventType,
boolean forForm, Object... context)
{
Page primaryPage = mockPage();
- Page activePage = primaryPage;
PageRenderQueue queue = mockPageRenderQueue();
PageActivationContextCollector collector = mockPageActivationContextCollector();
- RequestSecurityManager securityManager = mockRequestSecurityManager();
- Request request = mockRequest();
- Response response = mockResponse();
- ComponentInvocationMap invocationMap = new NoOpComponentInvocationMap();
- RequestPathOptimizer optimizer = mockRequestPathOptimizer();
- Capture<Link> linkCapture = new Capture();
LinkCreationListener listener = mockLinkCreationListener();
-
- String optimizedURL = "optimized:" + expectedURL;
- String encodedURL = "encoded:" + expectedURL;
+ LinkFactory factory = mockLinkFactory();
+ Link link = mockLink();
train_getRenderingPage(queue, null);
@@ -274,33 +235,33 @@
train_collectPageActivationContext(collector, primaryPage, "a", "b");
- train_getBaseURL(securityManager, activePage, null);
-
- train_getContextPath(request, "/context");
+ Capture<ComponentInvocation> holder = train_create(factory, primaryPage, link);
- train_optimizePath(optimizer, expectedURL, optimizedURL);
- train_encodeURL(response, optimizedURL, encodedURL);
-
- listener.createdComponentEventLink(capture(linkCapture));
+ listener.createdComponentEventLink(link);
replay();
- LinkFactory factory = new LinkFactoryImpl(request, response, invocationMap, null, optimizer, queue,
- securityManager, contextPathEncoder, collector);
+ LinkSource source = new LinkSourceImpl(null, queue,
+ contextPathEncoder, collector, factory);
- factory.getLinkCreationHub().addListener(listener);
+ source.getLinkCreationHub().addListener(listener);
- Link link = factory.createComponentEventLink(primaryPage, nestedId, eventType, forForm, context);
+ Link returnedLink = source.createComponentEventLink(primaryPage, nestedId, eventType, forForm, context);
// Make sure the same link is returned.
- assertSame(linkCapture.getValue(), link);
-
- assertEquals(link.toURI(), encodedURL);
+ assertSame(returnedLink, link);
verify();
- return link;
+ assertEquals(holder.getValue().buildURI(), expectedURI);
+ }
+
+ protected final Capture<ComponentInvocation> train_create(LinkFactory factory, Page primaryPage, Link link)
+ {
+ Capture<ComponentInvocation> holder = new Capture<ComponentInvocation>();
+ expect(factory.create(eq(primaryPage), capture(holder))).andReturn(link);
+ return holder;
}
protected final void train_collectPageActivationContext(PageActivationContextCollector collector, Page page,
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java?rev=733522&r1=733521&r2=733522&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/LocalizationSetterImplTest.java Sun Jan 11 13:44:52 2009
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2009 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -14,68 +14,16 @@
package org.apache.tapestry5.internal.services;
+import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.ioc.services.ThreadLocale;
import org.apache.tapestry5.services.PersistentLocale;
-import org.testng.Assert;
+import org.apache.tapestry5.services.Request;
import org.testng.annotations.Test;
import java.util.Locale;
-public class LocalizationSetterImplTest extends Assert
+public class LocalizationSetterImplTest extends InternalBaseTestCase
{
- private PersistentLocale nullPersistentLocale = new PersistentLocale()
- {
- public boolean isSet()
- {
- return false;
- }
-
- public Locale get()
- {
- return null;
- }
-
- public void set(Locale locale)
- {
-
- }
-
- };
-
- private PersistentLocale frenchPersistentLocale = new PersistentLocale()
- {
- public boolean isSet()
- {
- return true;
- }
-
- public Locale get()
- {
- return Locale.FRENCH;
- }
-
- public void set(Locale locale)
- {
-
- }
-
- };
-
- private static class ThreadLocaleImpl implements ThreadLocale
- {
- public Locale _locale;
-
- public void setLocale(Locale locale)
- {
- _locale = locale;
- }
-
- public Locale getLocale()
- {
- return _locale;
- }
-
- }
@Test
public void locale_split()
@@ -88,16 +36,15 @@
@Test
public void to_locale_is_cached()
{
- LocalizationSetterImpl filter = new LocalizationSetterImpl(nullPersistentLocale, null,
- "en");
+ LocalizationSetterImpl setter = new LocalizationSetterImpl(null, null, null, "en");
- Locale l1 = filter.toLocale("en");
+ Locale l1 = setter.toLocale("en");
assertEquals(l1.toString(), "en");
checkLocale(l1, "en", "", "");
- assertSame(filter.toLocale("en"), l1);
+ assertSame(setter.toLocale("en"), l1);
}
private void checkLocale(Locale l, String expectedLanguage, String expectedCountry,
@@ -111,45 +58,74 @@
@Test
public void to_locale()
{
- LocalizationSetterImpl filter = new LocalizationSetterImpl(nullPersistentLocale, null,
- "en");
+ LocalizationSetterImpl setter = new LocalizationSetterImpl(null, null, null, "en");
- checkLocale(filter.toLocale("en"), "en", "", "");
- checkLocale(filter.toLocale("klingon_Gach"), "klingon", "GACH", "");
- checkLocale(filter.toLocale("klingon_Gach_snuff"), "klingon", "GACH", "snuff");
+ checkLocale(setter.toLocale("en"), "en", "", "");
+ checkLocale(setter.toLocale("klingon_Gach"), "klingon", "GACH", "");
+ checkLocale(setter.toLocale("klingon_Gach_snuff"), "klingon", "GACH", "snuff");
}
@Test
public void known_locale()
{
- ThreadLocale threadLocale = new ThreadLocaleImpl();
- threadLocale.setLocale(Locale.FRENCH);
- LocalizationSetter setter = new LocalizationSetterImpl(nullPersistentLocale, threadLocale,
- "en,fr");
- setter.setThreadLocale(Locale.CANADA_FRENCH);
- assertEquals(threadLocale.getLocale(), Locale.FRENCH);
+ PersistentLocale pl = mockPersistentLocale();
+ ThreadLocale tl = mockThreadLocale();
+ Request request = mockRequest();
+
+ tl.setLocale(Locale.FRENCH);
+ pl.set(Locale.FRENCH);
+
+ replay();
+ LocalizationSetterImpl setter = new LocalizationSetterImpl(request, pl, tl, "en,fr");
+
+ assertTrue(setter.setLocaleFromLocaleName("fr"));
+
+ verify();
}
- @Test
- public void unknown_locale_uses_default_locale()
+ protected final PersistentLocale mockPersistentLocale()
{
- ThreadLocale threadLocale = new ThreadLocaleImpl();
- threadLocale.setLocale(Locale.FRENCH);
- LocalizationSetter setter = new LocalizationSetterImpl(nullPersistentLocale, threadLocale,
- "en,fr");
- setter.setThreadLocale(Locale.JAPANESE);
- assertEquals(threadLocale.getLocale(), Locale.ENGLISH);
+ return newMock(PersistentLocale.class);
}
@Test
- public void use_persistent_locale()
+ public void unknown_locale_uses_locale_from_request()
{
- ThreadLocale threadLocale = new ThreadLocaleImpl();
- LocalizationSetter setter = new LocalizationSetterImpl(frenchPersistentLocale,
- threadLocale, "en,fr");
- setter.setThreadLocale(Locale.ENGLISH);
- assertEquals(threadLocale.getLocale(), Locale.FRENCH);
+ PersistentLocale pl = mockPersistentLocale();
+ ThreadLocale tl = mockThreadLocale();
+ Request request = mockRequest();
+
+ tl.setLocale(Locale.FRENCH);
+
+ train_getLocale(request, Locale.CANADA_FRENCH);
+
+ replay();
+
+ LocalizationSetterImpl setter = new LocalizationSetterImpl(request, pl, tl, "en,fr");
+
+ assertFalse(setter.setLocaleFromLocaleName("unknown"));
+
+ verify();
}
+ @Test
+ public void unsupported_locale_in_request_uses_default_locale()
+ {
+ PersistentLocale pl = mockPersistentLocale();
+ ThreadLocale tl = mockThreadLocale();
+ Request request = mockRequest();
+
+ tl.setLocale(Locale.ITALIAN);
+
+ train_getLocale(request, Locale.CHINESE);
+
+ replay();
+
+ LocalizationSetterImpl setter = new LocalizationSetterImpl(request, pl, tl, "it,en,fr");
+
+ assertFalse(setter.setLocaleFromLocaleName("unknown"));
+
+ verify();
+ }
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderDispatcherTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderDispatcherTest.java?rev=733522&r1=733521&r2=733522&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderDispatcherTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PageRenderDispatcherTest.java Sun Jan 11 13:44:52 2009
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -46,14 +46,16 @@
PageRenderRequestHandler handler = new PageRenderRequestHandlerImpl(cache, null, null);
Request request = mockRequest();
Response response = mockResponse();
+ LocalizationSetter ls = mockLocalizationSetter();
stub_isPageName(resolver, false);
+ train_setLocaleFromLocaleName(ls, "foo", false);
train_getPath(request, "/foo/Bar.baz");
replay();
- Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder);
+ Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder, ls);
assertFalse(d.dispatch(request, response));
@@ -68,14 +70,41 @@
PageRenderRequestHandler handler = newMock(PageRenderRequestHandler.class);
Request request = mockRequest();
Response response = mockResponse();
+ LocalizationSetter ls = mockLocalizationSetter();
train_getPath(request, "");
+ train_setLocaleFromLocaleName(ls, "", false);
+
train_isPageName(resolver, "", false);
replay();
- Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder);
+ Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder, ls);
+
+ assertFalse(d.dispatch(request, response));
+
+ verify();
+ }
+
+ @Test
+ public void just_the_locale_name() throws Exception
+ {
+ ComponentClassResolver resolver = mockComponentClassResolver();
+ PageRenderRequestHandler handler = newMock(PageRenderRequestHandler.class);
+ Request request = mockRequest();
+ Response response = mockResponse();
+ LocalizationSetter ls = mockLocalizationSetter();
+
+ train_getPath(request, "/en");
+
+ train_setLocaleFromLocaleName(ls, "en", true);
+
+ train_isPageName(resolver, "", false);
+
+ replay();
+
+ Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder, ls);
assertFalse(d.dispatch(request, response));
@@ -96,9 +125,12 @@
PageResponseRenderer renderer = mockPageResponseRenderer();
RequestPageCache cache = mockRequestPageCache();
ComponentEventResultProcessor processor = newComponentEventResultProcessor();
+ LocalizationSetter ls = mockLocalizationSetter();
train_getPath(request, "/foo/bar");
+ train_setLocaleFromLocaleName(ls, "foo", false);
+
train_isPageName(resolver, "foo/bar", false);
train_isPageName(resolver, "foo", false);
train_isPageName(resolver, "", true);
@@ -115,7 +147,7 @@
PageRenderRequestHandler handler = new PageRenderRequestHandlerImpl(cache, processor, renderer);
- Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder);
+ Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder, ls);
assertTrue(d.dispatch(request, response));
@@ -145,10 +177,13 @@
Response response = mockResponse();
Page page = mockPage();
ComponentPageElement rootElement = mockComponentPageElement();
+ LocalizationSetter ls = mockLocalizationSetter();
String path = "/foo/Bar" + (finalSlash ? "/" : "");
train_getPath(request, path);
+ train_setLocaleFromLocaleName(ls, "foo", false);
+
train_isPageName(resolver, "foo/Bar", true);
train_get(cache, "foo/Bar", page);
@@ -162,7 +197,7 @@
PageRenderRequestHandler handler = new PageRenderRequestHandlerImpl(cache, processor, renderer);
- Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder);
+ Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder, ls);
assertTrue(d.dispatch(request, response));
@@ -191,10 +226,13 @@
Response response = mockResponse();
Page page = mockPage();
ComponentPageElement rootElement = mockComponentPageElement();
+ LocalizationSetter ls = mockLocalizationSetter();
String path = "/foo/Bar/zip/zoom" + (finalSlash ? "/" : "");
train_getPath(request, path);
+ train_setLocaleFromLocaleName(ls, "foo", false);
+
train_isPageName(resolver, "foo/Bar/zip/zoom", false);
train_isPageName(resolver, "foo/Bar/zip", false);
@@ -212,7 +250,7 @@
PageRenderRequestHandler handler = new PageRenderRequestHandlerImpl(cache, processor, renderer);
- Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder);
+ Dispatcher d = new PageRenderDispatcher(resolver, handler, contextPathEncoder, ls);
assertTrue(d.dispatch(request, response));
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java?rev=733522&r1=733521&r2=733522&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/RequestSecurityManagerImplTest.java Sun Jan 11 13:44:52 2009
@@ -1,4 +1,4 @@
-// Copyright 2008 The Apache Software Foundation
+// Copyright 2008, 2009 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@
{
Request request = mockRequest();
Response response = mockResponse();
- LinkFactory linkFactory = mockLinkFactory();
+ LinkSource linkSource = mockLinkSource();
MetaDataLocator locator = mockMetaDataLocator();
BaseURLSource source = mockBaseURLSource();
RequestPageCache cache = mockRequestPageCache();
@@ -46,7 +46,7 @@
replay();
RequestSecurityManager manager
- = new RequestSecurityManagerImpl(request, response, linkFactory, locator, source, cache);
+ = new RequestSecurityManagerImpl(request, response, linkSource, locator, source, cache);
assertFalse(manager.checkForInsecureRequest(PAGE_NAME));
@@ -58,7 +58,7 @@
{
Request request = mockRequest();
Response response = mockResponse();
- LinkFactory linkFactory = mockLinkFactory();
+ LinkSource linkSource = mockLinkSource();
MetaDataLocator locator = mockMetaDataLocator();
BaseURLSource source = mockBaseURLSource();
RequestPageCache cache = mockRequestPageCache();
@@ -73,7 +73,7 @@
replay();
RequestSecurityManager manager
- = new RequestSecurityManagerImpl(request, response, linkFactory, locator, source, cache);
+ = new RequestSecurityManagerImpl(request, response, linkSource, locator, source, cache);
assertFalse(manager.checkForInsecureRequest(PAGE_NAME));
@@ -85,7 +85,7 @@
{
Request request = mockRequest();
Response response = mockResponse();
- LinkFactory linkFactory = mockLinkFactory();
+ LinkSource linkSource = mockLinkSource();
MetaDataLocator locator = mockMetaDataLocator();
BaseURLSource source = mockBaseURLSource();
Page page = mockPage();
@@ -98,14 +98,14 @@
train_isSecure(locator, page, true);
- train_createPageRenderLink(linkFactory, page, link);
+ train_createPageRenderLink(linkSource, page, link);
response.sendRedirect(link);
replay();
RequestSecurityManager manager
- = new RequestSecurityManagerImpl(request, response, linkFactory, locator, source, cache);
+ = new RequestSecurityManagerImpl(request, response, linkSource, locator, source, cache);
assertTrue(manager.checkForInsecureRequest(PAGE_NAME));
@@ -128,7 +128,7 @@
{
Request request = mockRequest();
Response response = mockResponse();
- LinkFactory linkFactory = mockLinkFactory();
+ LinkSource linkSource = mockLinkSource();
MetaDataLocator locator = mockMetaDataLocator();
BaseURLSource source = mockBaseURLSource();
Page page = mockPage();
@@ -142,7 +142,7 @@
replay();
RequestSecurityManager manager
- = new RequestSecurityManagerImpl(request, response, linkFactory, locator, source, null);
+ = new RequestSecurityManagerImpl(request, response, linkSource, locator, source, null);
assertEquals(manager.getBaseURL(page), expectedURL);
@@ -160,6 +160,4 @@
train_findMeta(locator, MetaDataConstants.SECURE_PAGE, resources, Boolean.class, secure);
}
-
-
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java?rev=733522&r1=733521&r2=733522&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java Sun Jan 11 13:44:52 2009
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -426,14 +426,14 @@
return newMock(ComponentInvocationMap.class);
}
- protected final LinkFactory mockLinkFactory()
+ protected final LinkSource mockLinkSource()
{
- return newMock(LinkFactory.class);
+ return newMock(LinkSource.class);
}
- protected final void train_createPageRenderLink(LinkFactory factory, Page page, Link link)
+ protected final void train_createPageRenderLink(LinkSource source, Page page, Link link)
{
- expect(factory.createPageRenderLink(page, false)).andReturn(link);
+ expect(source.createPageRenderLink(page, false)).andReturn(link);
}
protected final void train_isLoaded(InternalComponentResources resources, boolean isLoaded)
@@ -658,4 +658,15 @@
{
expect(invocation.getParameterValue(parameterName)).andReturn(parameterValue).atLeastOnce();
}
+
+ protected final void train_setLocaleFromLocaleName(LocalizationSetter localizationSetter, String localeName,
+ boolean recognized)
+ {
+ expect(localizationSetter.setLocaleFromLocaleName(localeName)).andReturn(recognized);
+ }
+
+ protected final LocalizationSetter mockLocalizationSetter()
+ {
+ return newMock(LocalizationSetter.class);
+ }
}