You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/09/07 12:01:12 UTC
svn commit: r1166091 -
/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/
Author: pete
Date: Wed Sep 7 10:01:11 2011
New Revision: 1166091
URL: http://svn.apache.org/viewvc?rev=1166091&view=rev
Log:
WICKET-4032 ComponentStringResourceLoader must not include the index of repeater items in resource lookup but still resolve properties to them:
- add tests
Added:
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyContainer.properties
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyLabel.properties
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.html
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.properties
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyRepeatingView.properties
wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest.java
Added: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyContainer.properties
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest%24MyContainer.properties?rev=1166091&view=auto
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyContainer.properties (added)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyContainer.properties Wed Sep 7 10:01:11 2011
@@ -0,0 +1,2 @@
+label.keyContainer=container-1
+keyContainer=container-2
Added: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyLabel.properties
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest%24MyLabel.properties?rev=1166091&view=auto
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyLabel.properties (added)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyLabel.properties Wed Sep 7 10:01:11 2011
@@ -0,0 +1 @@
+keyLabel=label-1
Added: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.html
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest%24MyPage.html?rev=1166091&view=auto
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.html (added)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.html Wed Sep 7 10:01:11 2011
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html>
+<html xmlns:wicket="http://wicket.apache.org">
+<head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <title>Home Page</title>
+</head>
+<body>
+ <h1>Properties Resolver Test</h1>
+
+ <ul wicket:id="repeater">
+ <li wicket:id="label">[label]</li>
+ </ul>
+
+</body>
+</html>
\ No newline at end of file
Added: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.properties
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest%24MyPage.properties?rev=1166091&view=auto
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.properties (added)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyPage.properties Wed Sep 7 10:01:11 2011
@@ -0,0 +1,3 @@
+repeater.label.keyPage=page-1
+label.keyPage=page-2
+keyPage=page-3
Added: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyRepeatingView.properties
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest%24MyRepeatingView.properties?rev=1166091&view=auto
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyRepeatingView.properties (added)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest$MyRepeatingView.properties Wed Sep 7 10:01:11 2011
@@ -0,0 +1,2 @@
+label.keyRepeater=repeater-1
+keyRepeater=repeater-2
Added: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest.java?rev=1166091&view=auto
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest.java (added)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/resource/loader/PropertiesResolverTest.java Wed Sep 7 10:01:11 2011
@@ -0,0 +1,139 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.resource.loader;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.repeater.RepeatingView;
+import org.apache.wicket.model.StringResourceModel;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.tester.WicketTester;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * test hierarchic lookup of properties from component property files
+ *
+ * @author Peter Ertl
+ *
+ */
+public class PropertiesResolverTest extends Assert
+{
+ @Test
+ public void resolveProperties()
+ {
+ WicketTester tester = new WicketTester(new App());
+
+ // all the tests are performed in page
+ tester.startPage(MyPage.class);
+ tester.assertRenderedPage(MyPage.class);
+ }
+
+ public static class App extends WebApplication
+ {
+ @Override
+ public Class<? extends Page> getHomePage()
+ {
+ return MyPage.class;
+ }
+ }
+
+ public static class MyPage extends WebPage
+ {
+ public MyPage()
+ {
+ MyRepeatingView repeater = new MyRepeatingView("repeater");
+ add(repeater);
+
+ MyContainer container1 = new MyContainer(repeater.newChildId());
+ repeater.add(container1);
+
+ MyLabel label1 = new MyLabel("label");
+ container1.add(label1);
+
+ MyContainer container2 = new MyContainer(repeater.newChildId());
+ repeater.add(container2);
+
+ MyLabel label2 = new MyLabel("label");
+ container2.add(label2);
+
+ // test lookup on label properties
+ assertEquals("label-1", lookup("keyLabel", label1));
+ assertEquals("label-1", lookup("keyLabel", label2));
+
+ // test lookup on container properties
+ assertEquals("container-1", lookup("label.keyContainer", container1));
+ assertEquals("container-2", lookup("keyContainer", container1));
+ assertEquals("container-1", lookup("keyContainer", label1));
+ assertEquals("container-1", lookup("label.keyContainer", container2));
+ assertEquals("container-2", lookup("keyContainer", container2));
+ assertEquals("container-1", lookup("keyContainer", label2));
+
+ // test lookup on repeater properties
+ assertEquals("repeater-1", lookup("label.keyRepeater", repeater));
+ assertEquals("repeater-2", lookup("keyRepeater", repeater));
+ assertEquals("repeater-1", lookup("label.keyRepeater", container1));
+ assertEquals("repeater-2", lookup("keyRepeater", container1));
+ assertEquals("repeater-1", lookup("keyRepeater", label1));
+ assertEquals("repeater-1", lookup("label.keyRepeater", container2));
+ assertEquals("repeater-2", lookup("keyRepeater", container2));
+ assertEquals("repeater-1", lookup("keyRepeater", label2));
+
+ // test lookup on page properties
+ assertEquals("page-1", lookup("repeater.label.keyPage", MyPage.this));
+ assertEquals("page-2", lookup("label.keyPage", MyPage.this));
+ assertEquals("page-3", lookup("keyPage", MyPage.this));
+ assertEquals("page-1", lookup("label.keyPage", repeater));
+ assertEquals("page-1", lookup("label.keyPage", container1));
+ assertEquals("page-1", lookup("keyPage", label1));
+ assertEquals("page-1", lookup("label.keyPage", container2));
+ assertEquals("page-1", lookup("keyPage", label2));
+ }
+
+ private String lookup(String key, Component anchor)
+ {
+ return new StringResourceModel(key, anchor, null, (String)null).getString();
+ }
+ }
+
+ public static class MyRepeatingView extends RepeatingView
+ {
+ public MyRepeatingView(String id)
+ {
+ super(id);
+ }
+ }
+
+ public static class MyContainer extends WebMarkupContainer
+ {
+ public MyContainer(String id)
+ {
+ super(id);
+ }
+ }
+
+ public static class MyLabel extends Label
+ {
+ public MyLabel(String id)
+ {
+ super(id);
+ }
+ }
+}