You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2011/07/08 20:51:55 UTC

svn commit: r1144421 - /wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java

Author: jdonnerstag
Date: Fri Jul  8 18:51:55 2011
New Revision: 1144421

URL: http://svn.apache.org/viewvc?rev=1144421&view=rev
Log:
additional test case: When base markup file has been removed from the cache, the the derived markup should be removed as well
Issue: WICKET-3878

Modified:
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java

Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java?rev=1144421&r1=1144420&r2=1144421&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java Fri Jul  8 18:51:55 2011
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup;
 
+import org.apache.wicket.Application;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.html.panel.Panel;
@@ -35,6 +36,15 @@ public class MarkupCacheTest extends Wic
 		super.setUp();
 		cache = new MarkupCache();
 
+		Application.get().getMarkupSettings().setMarkupFactory(new MarkupFactory()
+		{
+			@Override
+			public IMarkupCache getMarkupCache()
+			{
+				return cache;
+			}
+		});
+
 		component = new MarkupCachingAssumingComponent("panel");
 		tester.startComponent(component);
 	}
@@ -51,6 +61,25 @@ public class MarkupCacheTest extends Wic
 		assertNull(markup);
 	}
 
+	/**
+	 * testRemoveMarkupWhereBaseMarkupIsNoLongerInTheCache()
+	 */
+	public void testRemoveMarkupWhereBaseMarkupIsNoLongerInTheCache()
+	{
+		tester.startPage(MarkupInheritanceExtension_1.class);
+		tester.assertRenderedPage(MarkupInheritanceExtension_1.class);
+		MarkupInheritanceExtension_1 page = (MarkupInheritanceExtension_1)tester.getLastRenderedPage();
+
+		IMarkupFragment markup = cache.getMarkup(page, null, false);
+		assertNotNull(markup);
+
+		String key = markup.getMarkupResourceStream().getBaseMarkupResourceStream().getCacheKey();
+		cache.removeMarkup(key);
+
+		markup = cache.getMarkupFromCache(markup.getMarkupResourceStream().getCacheKey(), page);
+		assertNull(markup);
+	}
+
 	private static class MarkupCachingAssumingComponent extends Panel
 		implements
 			IMarkupResourceStreamProvider