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


Reply via email to