You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2007/06/16 02:36:42 UTC
svn commit: r547839 [2/2] - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry/
main/java/org/apache/tapestry/internal/services/
main/java/org/apache/tapestry/internal/structure/
main/java/org/apache/tapestry/internal/test/ m...
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/MetaDataLocatorImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/MetaDataLocatorImplTest.java?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/MetaDataLocatorImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/MetaDataLocatorImplTest.java Fri Jun 15 17:36:40 2007
@@ -33,7 +33,6 @@
{
ComponentResources resources = mockComponentResources();
ComponentModel model = mockComponentModel();
- ComponentClassResolver resolver = mockComponentClassResolver();
String key = "foo.bar";
String value = "zaphod";
@@ -47,7 +46,7 @@
Map<String, String> configuration = Collections.emptyMap();
- MetaDataLocator locator = new MetaDataLocatorImpl(resolver, configuration);
+ MetaDataLocator locator = new MetaDataLocatorImpl(configuration);
assertSame(locator.findMeta(key, resources), value);
@@ -88,7 +87,7 @@
Map<String, String> configuration = Collections.emptyMap();
- MetaDataLocator locator = new MetaDataLocatorImpl(resolver, configuration);
+ MetaDataLocator locator = new MetaDataLocatorImpl(configuration);
assertSame(locator.findMeta(key, resources), value);
@@ -100,24 +99,25 @@
{
ComponentResources resources = mockComponentResources();
ComponentModel model = mockComponentModel();
- ComponentClassResolver resolver = mockComponentClassResolver();
String key = "foo.bar";
String value = "zaphod";
- String completeId = "foo.Bar";
+ String completeId = "Bar";
+ String logicalPageName = completeId;
train_getCompleteId(resources, completeId);
train_getComponentModel(resources, model);
train_getMeta(model, key, null);
train_getContainerResources(resources, null);
- train_resolvePageClassNameToPageName(resolver, completeId, "foo/Bar");
+
+ train_getPageName(resources, logicalPageName);
replay();
Map<String, String> configuration = newMap();
configuration.put(key, value);
- MetaDataLocator locator = new MetaDataLocatorImpl(resolver, configuration);
+ MetaDataLocator locator = new MetaDataLocatorImpl(configuration);
assertSame(locator.findMeta(key, resources), value);
@@ -139,7 +139,6 @@
{
ComponentResources resources = mockComponentResources();
ComponentModel model = mockComponentModel();
- ComponentClassResolver resolver = mockComponentClassResolver();
String key = "foo.bar";
String value = "zaphod";
@@ -149,14 +148,15 @@
train_getComponentModel(resources, model);
train_getMeta(model, key, null);
train_getContainerResources(resources, null);
- train_resolvePageClassNameToPageName(resolver, completeId, "foo/Bar");
+
+ train_getPageName(resources, "foo/Bar");
replay();
Map<String, String> configuration = newMap();
configuration.put(key.toUpperCase(), value);
- MetaDataLocator locator = new MetaDataLocatorImpl(resolver, configuration);
+ MetaDataLocator locator = new MetaDataLocatorImpl(configuration);
assertSame(locator.findMeta(key, resources), value);
@@ -188,7 +188,8 @@
train_getComponentModel(resources, model);
train_getMeta(model, key, null);
train_getContainerResources(resources, null);
- train_resolvePageClassNameToPageName(resolver, completeId, "foo/Bar");
+
+ train_getPageName(resources, "foo/Bar");
replay();
@@ -196,7 +197,7 @@
configuration.put(key, "xxx");
configuration.put("foo:" + key, value);
- MetaDataLocator locator = new MetaDataLocatorImpl(resolver, configuration);
+ MetaDataLocator locator = new MetaDataLocatorImpl(configuration);
assertSame(locator.findMeta(key, resources), value);
@@ -218,7 +219,6 @@
{
ComponentResources resources = mockComponentResources();
ComponentModel model = mockComponentModel();
- ComponentClassResolver resolver = mockComponentClassResolver();
String key = "foo.bar";
String value = "zaphod";
@@ -232,7 +232,7 @@
Map<String, String> configuration = Collections.emptyMap();
- MetaDataLocatorImpl locator = new MetaDataLocatorImpl(resolver, configuration);
+ MetaDataLocatorImpl locator = new MetaDataLocatorImpl(configuration);
assertSame(locator.findMeta(key, resources), value);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java Fri Jun 15 17:36:40 2007
@@ -23,15 +23,19 @@
import org.apache.tapestry.internal.parser.EndElementToken;
import org.apache.tapestry.internal.parser.StartComponentToken;
import org.apache.tapestry.internal.structure.ComponentPageElement;
+import org.apache.tapestry.internal.structure.Page;
import org.apache.tapestry.internal.structure.PageElement;
import org.apache.tapestry.internal.test.InternalBaseTestCase;
import org.apache.tapestry.ioc.Location;
import org.apache.tapestry.model.ComponentModel;
import org.apache.tapestry.model.EmbeddedComponentModel;
+import org.apache.tapestry.services.ComponentClassResolver;
import org.testng.annotations.Test;
public class PageLoaderImplTest extends InternalBaseTestCase
{
+ private static final String LOGICAL_PAGE_NAME = "Bar";
+
private static final String PAGE_CLASS_NAME = "foo.page.Bar";
private static final String CHILD_CLASS_NAME = "foo.component.Baz";
@@ -48,6 +52,9 @@
ComponentModel model = mockComponentModel();
ComponentTemplate template = mockComponentTemplate();
Log log = mockLog();
+ ComponentClassResolver resolver = mockComponentClassResolver();
+
+ train_resolvePageNameToClassName(resolver, LOGICAL_PAGE_NAME, PAGE_CLASS_NAME);
train_newRootComponentElement(elementFactory, PAGE_CLASS_NAME, rootElement);
@@ -74,9 +81,11 @@
replay();
- PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, null);
+ PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, null, resolver);
+
+ Page page = loader.loadPage(LOGICAL_PAGE_NAME, LOCALE);
- loader.loadPage(PAGE_CLASS_NAME, LOCALE);
+ assertSame(page.getLogicalName(), LOGICAL_PAGE_NAME);
verify();
}
@@ -98,7 +107,9 @@
Location l = mockLocation();
PageElement body = mockPageElement();
ComponentTemplate childTemplate = mockComponentTemplate();
+ ComponentClassResolver resolver = mockComponentClassResolver();
+ train_resolvePageNameToClassName(resolver, LOGICAL_PAGE_NAME, PAGE_CLASS_NAME);
train_newRootComponentElement(elementFactory, PAGE_CLASS_NAME, rootElement);
train_getComponentResources(rootElement, resources);
@@ -159,9 +170,9 @@
replay();
- PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, null);
+ PageLoader loader = new PageLoaderImpl(templateSource, elementFactory, null, null, resolver);
- loader.loadPage(PAGE_CLASS_NAME, LOCALE);
+ loader.loadPage(LOGICAL_PAGE_NAME, LOCALE);
verify();
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PagePoolImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PagePoolImplTest.java?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PagePoolImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/PagePoolImplTest.java Fri Jun 15 17:36:40 2007
@@ -14,20 +14,22 @@
package org.apache.tapestry.internal.services;
-import static org.easymock.EasyMock.contains;
-
import java.util.Locale;
import org.apache.commons.logging.Log;
-import org.apache.tapestry.internal.events.InvalidationListener;
import org.apache.tapestry.internal.structure.Page;
import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.internal.services.ThreadLocaleImpl;
import org.apache.tapestry.ioc.services.ThreadLocale;
+import org.apache.tapestry.services.ComponentClassResolver;
+import org.easymock.EasyMock;
import org.testng.annotations.Test;
public class PagePoolImplTest extends InternalBaseTestCase
{
+ private static final String INPUT_PAGE_NAME = "mypage";
+
+ private static final String LOGICAL_PAGE_NAME = "MyPage";
+
private static final String PAGE_NAME = "com.foo.pages.MyPage";
// This will change once we start supporting application localization.
@@ -40,16 +42,20 @@
PageLoader loader = mockPageLoader();
Page page = mockPage();
ThreadLocale tl = mockThreadLocale();
+ ComponentClassResolver resolver = mockComponentClassResolver();
+ Log log = mockLog();
+
+ train_canonicalizePageName(resolver, INPUT_PAGE_NAME, LOGICAL_PAGE_NAME);
train_getLocale(tl, _locale);
- train_loadPage(loader, PAGE_NAME, _locale, page);
+ train_loadPage(loader, LOGICAL_PAGE_NAME, _locale, page);
replay();
- PagePool pool = new PagePoolImpl(null, loader, tl);
+ PagePool pool = new PagePoolImpl(log, loader, tl, resolver);
- assertSame(page, pool.checkout(PAGE_NAME));
+ assertSame(page, pool.checkout(INPUT_PAGE_NAME));
verify();
}
@@ -57,73 +63,52 @@
@Test
public void checkout_when_page_list_is_empty()
{
- final Page page1 = new NoOpPage(PAGE_NAME, _locale);
- final Page page2 = new NoOpPage(PAGE_NAME, _locale);
+ Page page1 = mockPage();
+ Page page2 = mockPage();
+ PageLoader loader = mockPageLoader();
+ Log log = mockLog();
+ ThreadLocale tl = mockThreadLocale();
+ ComponentClassResolver resolver = mockComponentClassResolver();
- PageLoader loader = new PageLoader()
- {
+ train_canonicalizePageName(resolver, INPUT_PAGE_NAME, LOGICAL_PAGE_NAME);
- public void addInvalidationListener(InvalidationListener listener)
- {
+ train_getLocale(tl, _locale);
- }
-
- public Page loadPage(String pageClassName, Locale locale)
- {
- if (pageClassName.equals(PAGE_NAME))
- {
- return page2;
- }
- return null;
- }
-
- };
- ThreadLocale threadLocale = new ThreadLocaleImpl();
- threadLocale.setLocale(_locale);
- PagePool pool = new PagePoolImpl(null, loader, threadLocale);
- pool.release(page1);
- assertSame(page1, pool.checkout(PAGE_NAME));
- // Now the list is empty, but not null.
- assertSame(page2, pool.checkout(PAGE_NAME));
- }
+ train_loadPage(loader, LOGICAL_PAGE_NAME, _locale, page1);
- // This should move up to IOCTestCase
+ replay();
- protected final void train_detached(Page page, boolean dirty)
- {
- expect(page.detached()).andReturn(dirty);
- }
+ PagePool pool = new PagePoolImpl(log, loader, tl, resolver);
- @Test
- public void release_last_in_first_out()
- {
- final Page page1 = new NoOpPage(PAGE_NAME, _locale);
- final Page page2 = new NoOpPage(PAGE_NAME, _locale);
+ assertSame(pool.checkout(INPUT_PAGE_NAME), page1);
- PageLoader loader = new PageLoader()
- {
+ verify();
- public void addInvalidationListener(InvalidationListener listener)
- {
+ train_detached(page1, false);
+ train_getLogicalName(page1, LOGICAL_PAGE_NAME);
+ train_getLocale(page1, _locale);
- }
-
- public Page loadPage(String pageClassName, Locale locale)
- {
- fail();
- return null;
- }
-
- };
- ThreadLocale threadLocale = new ThreadLocaleImpl();
- threadLocale.setLocale(_locale);
- PagePool pool = new PagePoolImpl(null, loader, threadLocale);
+ replay();
pool.release(page1);
- pool.release(page2);
- assertSame(page2, pool.checkout(PAGE_NAME));
- assertSame(page1, pool.checkout(PAGE_NAME));
+ verify();
+
+ train_canonicalizePageName(resolver, INPUT_PAGE_NAME, LOGICAL_PAGE_NAME);
+ train_getLocale(tl, _locale);
+
+ train_canonicalizePageName(resolver, INPUT_PAGE_NAME, LOGICAL_PAGE_NAME);
+ train_getLocale(tl, _locale);
+
+ train_loadPage(loader, LOGICAL_PAGE_NAME, _locale, page2);
+
+ replay();
+
+ assertSame(pool.checkout(INPUT_PAGE_NAME), page1);
+ assertSame(pool.checkout(INPUT_PAGE_NAME), page2);
+
+ verify();
+
}
@Test
@@ -135,53 +120,17 @@
train_detached(page, true);
- log.error(contains("is dirty, and will be discarded"));
+ log.error(EasyMock.contains("is dirty, and will be discarded"));
- // The fact that we don't ask the page for its name is our clue that it is not being cached.
+ // The fact that we don't ask
+ // the page for its name is our clue that it is not being cached.
replay();
- PagePool pool = new PagePoolImpl(log, loader, null);
+ PagePool pool = new PagePoolImpl(log, loader, null, null);
pool.release(page);
verify();
- }
-
- @Test
- public void diff_locales()
- {
- final Page germanPage = new NoOpPage("p1", Locale.GERMAN);
- final Page frenchPage = new NoOpPage("p1", Locale.FRENCH);
-
- PageLoader loader = new PageLoader()
- {
-
- public void addInvalidationListener(InvalidationListener listener)
- {
-
- }
-
- public Page loadPage(String pageClassName, Locale locale)
- {
- if (pageClassName.equals("p1"))
- {
- return locale.equals(Locale.GERMAN) ? germanPage
- : locale.equals(Locale.FRENCH) ? frenchPage : null;
- }
- return null;
- }
-
- };
- ThreadLocale threadLocale = new ThreadLocaleImpl();
- PagePool pool = new PagePoolImpl(null, loader, threadLocale);
- threadLocale.setLocale(Locale.GERMAN);
- Page page = pool.checkout("p1");
- assertSame(page, germanPage);
- pool.release(page);
- threadLocale.setLocale(Locale.FRENCH);
- page = pool.checkout("p1");
- assertSame(page, frenchPage);
- pool.release(page);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/RequestPageCacheImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/RequestPageCacheImplTest.java?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/RequestPageCacheImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/services/RequestPageCacheImplTest.java Fri Jun 15 17:36:40 2007
@@ -16,41 +16,30 @@
import org.apache.tapestry.internal.structure.Page;
import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.services.ComponentClassResolver;
import org.testng.annotations.Test;
public class RequestPageCacheImplTest extends InternalBaseTestCase
{
private static final String PAGE_NAME = "MyPage";
- private static final String PAGE_CLASS_NAME = "com.foo.pages.MyPage";
-
@Test
public void get_is_cached()
{
- ComponentClassResolver resolver = mockComponentClassResolver();
PagePool pool = mockPagePool();
Page page = mockPage();
- train_resolvePageNameToClassName(resolver, PAGE_NAME, PAGE_CLASS_NAME);
-
- expect(pool.checkout(PAGE_CLASS_NAME)).andReturn(page);
+ expect(pool.checkout(PAGE_NAME)).andReturn(page);
page.attached();
replay();
- RequestPageCacheImpl cache = new RequestPageCacheImpl(resolver, pool);
+ RequestPageCacheImpl cache = new RequestPageCacheImpl(pool);
assertSame(cache.get(PAGE_NAME), page);
verify();
- // Asking for a page always resolves the name to a class (fortunately,
- // this is cached by resolver).
-
- train_resolvePageNameToClassName(resolver, PAGE_NAME, PAGE_CLASS_NAME);
-
replay();
// Again, same object, but no PagePool this time.
@@ -67,37 +56,5 @@
cache.threadDidCleanup();
verify();
- }
-
- @Test
- public void page_does_not_exist()
- {
- ComponentClassResolver resolver = mockComponentClassResolver();
- PagePool pool = mockPagePool();
-
- train_resolvePageNameToClassName(resolver, PAGE_NAME, null);
-
- replay();
-
- try
- {
- RequestPageCacheImpl cache = new RequestPageCacheImpl(resolver, pool);
-
- cache.get(PAGE_NAME);
-
- unreachable();
- }
- catch (IllegalArgumentException ex)
- {
- assertEquals(ex.getMessage(), "Page 'MyPage' is not defined by this application.");
- }
-
- verify();
- }
-
- protected final void train_resolvePageNameToClassName(ComponentClassResolver resolver,
- String pageName, String className)
- {
- expect(resolver.resolvePageNameToClassName(pageName)).andReturn(className);
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java Fri Jun 15 17:36:40 2007
@@ -32,13 +32,13 @@
public class ComponentPageElementImplTest extends InternalBaseTestCase
{
- public static final String PAGE_NAME = "org.test.pages.Foo";
+ public static final String PAGE_NAME = "Foo";
private Page newPage(String pageName)
{
Page page = mockPage();
- train_getName(page, pageName);
+ train_getLogicalName(page, pageName);
return page;
}
@@ -156,7 +156,7 @@
{
assertEquals(
ex.getMessage(),
- "Component org.test.pages.Foo already contains a block with id \'MyBlock\'. Block ids must be unique (excluding case, which is ignored).");
+ "Component Foo already contains a block with id \'MyBlock\'. Block ids must be unique (excluding case, which is ignored).");
}
verify();
@@ -233,7 +233,7 @@
train_getComponentResources(container, containerResources);
train_getNestedId(container, null);
- train_getName(page, "foo.pages.MyPage");
+ train_getLogicalName(page, "MyPage");
train_getParameterNames(model, "wilma", "barney", "fred");
train_getParameterModel(model, "wilma", pmodel);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/PageImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/PageImplTest.java?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/PageImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/internal/structure/PageImplTest.java Fri Jun 15 17:36:40 2007
@@ -28,7 +28,7 @@
{
private final Locale _locale = Locale.ENGLISH;
- private static final String PAGE_NAME = "org.foo.pages.MyPage";
+ private static final String LOGICAL_PAGE_NAME = "MyPage";
@Test
public void accessor_methods()
@@ -37,15 +37,15 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(LOGICAL_PAGE_NAME, _locale, null, null);
assertNull(page.getRootElement());
page.setRootElement(root);
- assertEquals(page.getName(), PAGE_NAME);
assertSame(page.getLocale(), _locale);
assertSame(page.getRootElement(), root);
+ assertSame(page.getLogicalName(), LOGICAL_PAGE_NAME);
verify();
}
@@ -61,7 +61,7 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(null, _locale, null, null);
page.addLifecycleListener(listener1);
page.addLifecycleListener(listener2);
@@ -81,7 +81,7 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(null, _locale, null, null);
page.addLifecycleListener(listener);
@@ -115,7 +115,7 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(null, _locale, null, null);
page.setRootElement(element);
page.addLifecycleListener(listener1);
@@ -144,7 +144,7 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(null, _locale, null, null);
page.addLifecycleListener(listener1);
page.addLifecycleListener(listener2);
@@ -170,7 +170,7 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(LOGICAL_PAGE_NAME, _locale, null, null);
page.addLifecycleListener(listener1);
page.addLifecycleListener(listener2);
@@ -187,7 +187,7 @@
replay();
- Page page = new PageImpl(PAGE_NAME, _locale, null, null);
+ Page page = new PageImpl(LOGICAL_PAGE_NAME, _locale, null, null);
page.setRootElement(root);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html?view=diff&rev=547839&r1=547838&r2=547839
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry/integration/app1/components/Border.html Fri Jun 15 17:36:40 2007
@@ -15,7 +15,12 @@
<p>
<a t:type="PageLink" page="Start">Back to index</a>
- </p>
+ </p>
+
+ <p>
+ Currently on page: ${componentResources.pageName}
+ </p>
+
</body>