Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ValueFromTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ValueFromTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ValueFromTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ValueFromTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,75 @@
+/*
+ * 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.sling.usling.webapp.integrationtest;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Test the @ValueFrom field name suffix, SLING-130 */
+public class ValueFromTest extends UslingHttpTestBase {
+
+ private String postUrl;
+ private String testText;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ // set test values
+ testText = "This is a test " + System.currentTimeMillis();
+
+ // create the test node, under a path that's specific to this class to
allow collisions
+ postUrl = HTTP_BASE_URL + "/" + getClass().getSimpleName() + "/" +
System.currentTimeMillis() + "/UJAX_create";
+ final Map<String,String> props = new HashMap<String,String>();
+ props.put("text", testText);
+ }
+
+ public void testWithoutValueFrom() throws IOException {
+ final Map<String,String> props = new HashMap<String,String>();
+ props.put("./text", testText);
+ final String jsonUrl = testClient.createNode(postUrl, props) + ".json";
+ final String json = getContent(jsonUrl, CONTENT_TYPE_JSON);
+ assertJavascript(testText, json, "out.println(data.text)");
+
+ }
+
+ public void testWithValueFrom() throws IOException {
+ final Map<String,String> props = new HashMap<String,String>();
+ props.put("./[EMAIL PROTECTED]", "fulltext");
+ props.put("fulltext", testText);
+ final String jsonUrl = testClient.createNode(postUrl, props) + ".json";
+ final String json = getContent(jsonUrl, CONTENT_TYPE_JSON);
+ assertJavascript("string", json, "out.println(typeof data.text)");
+ assertJavascript(testText, json, "out.println(data.text)");
+ assertJavascript("undefined", json, "out.println(typeof
data.fulltext)");
+ }
+
+ public void testWithValueFromAndMissingField() throws IOException {
+ final Map<String,String> props = new HashMap<String,String>();
+ props.put("./[EMAIL PROTECTED]", "fulltext");
+ // no fulltext field on purpose, field must be ignored
+
+ final String jsonUrl = testClient.createNode(postUrl, props) + ".json";
+ final String json = getContent(jsonUrl, CONTENT_TYPE_JSON);
+ assertJavascript("undefined", json, "out.println(typeof data.text)");
+ assertJavascript("undefined", json, "out.println(typeof data['[EMAIL
PROTECTED]'])");
+ }
+
+
+
+ }
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ValueFromTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ValueFromTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/package.html
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/package.html?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/package.html
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/package.html
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,20 @@
+<html>
+<body>
+ <p>
+ The tests found in and under this package are used in the
+ "integration-test" build phase (SLING-82), they are not run
+ as part of the normal "test" build phase.
+ </p>
+ <p>
+ To debug the integration tests, however, it is useful to run
+ them as part of the normal test phase, after starting a separate
+ Sling instance that they can talk to.
+ </p>
+ <p>
+ This is implemented using Maven profiles: to run the integration
+ tests during the normal test phase, disable the
"disableIntegrationTestsInTestPhase"
+ Maven profile, for example using <code>mvn -P nullUslingProfile
test</code>.
+ See pom.xml for more details.
+ </p>
+</body>
+</html>
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletCreateTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletCreateTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletCreateTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletCreateTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,110 @@
+/*
+ * 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.sling.usling.webapp.integrationtest.ujax;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.usling.webapp.integrationtest.UslingHttpTestBase;
+
+/** Test node creation via the MicrojaxPostServlet */
+public class PostServletCreateTest extends UslingHttpTestBase {
+ public static final String TEST_BASE_PATH = "/ujax-tests";
+ private String postUrl;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ postUrl = HTTP_BASE_URL + TEST_BASE_PATH + "/" +
System.currentTimeMillis();
+ }
+
+ public void TODO_FAILS_testPostPathIsUnique() throws IOException {
+ assertHttpStatus(postUrl, HttpServletResponse.SC_NOT_FOUND,
+ "Path must not exist before test: " + postUrl);
+ }
+
+ public void testCreateNode() throws IOException {
+ final String location = testClient.createNode(postUrl +
"/UJAX_create", null);
+ assertHttpStatus(location, HttpServletResponse.SC_OK,
+ "POST must redirect to created resource (" + location + ")");
+ assertTrue("Node (" + location + ") must have generated name",
+ !location.endsWith("/*"));
+ assertTrue("Node (" + location + ") must created be under POST URL ("
+ postUrl + ")",
+ location.contains(postUrl + "/"));
+ }
+
+ public void testCreateNodeAtSpecificUrl() throws IOException {
+ final String specifiedLocation = postUrl + "/specified-location";
+ final String location = testClient.createNode(specifiedLocation, null);
+ assertHttpStatus(location, HttpServletResponse.SC_OK,
+ "POST must redirect to created resource (" + location + ")");
+ assertTrue("Node (" + location + ") must be created at given URL (" +
specifiedLocation + ")",
+ location.equals(specifiedLocation));
+ }
+
+ public void testCreateNodeAtDeepUrl() throws IOException {
+ final long id = System.currentTimeMillis();
+ final String specifiedLocation = postUrl + "/specified-location" + id
+ "/deepA/deepB/" + id;
+ final String location = testClient.createNode(specifiedLocation, null);
+ assertHttpStatus(location, HttpServletResponse.SC_OK,
+ "POST must redirect to created resource (" + location + ")");
+ assertTrue("Node (" + location + ") must be created (deep) at given
URL (" + specifiedLocation + ")",
+ location.equals(specifiedLocation));
+ }
+
+ /** Create a node with some data, and check that data */
+ public void testCreateWithData() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("a","123");
+ props.put("b","456");
+ final String createdNodeUrl = testClient.createNode(postUrl +
"/UJAX_create", props);
+ final String content = getContent(createdNodeUrl + ".json",
CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+ }
+
+ /** Use the default "save prefix" on some parameters, and check that only
those
+ * who have the prefix are saved.
+ */
+ public void testDefaultSavePrefix() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("./a","123");
+ props.put("./b","456");
+ props.put("c","not saved");
+ final String createdNodeUrl = testClient.createNode(postUrl +
"/UJAX_create", props);
+ final String content = getContent(createdNodeUrl + ".json",
CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+ assertJavascript("undefined", content, "out.println(typeof data.c)");
+ }
+
+ /** Use a custom "save prefix" on some parameters, and check that only
those
+ * who have the prefix are saved.
+ */
+ public void TODO_FAILS_testCustomSavePrefix() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("++a","123");
+ props.put("++b","456");
+ props.put("c","not saved");
+ props.put("ujax:saveParamPrefix","++");
+ final String createdNodeUrl = testClient.createNode(postUrl +
"/UJAX_create", props);
+ final String content = getContent(createdNodeUrl + ".json",
CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+ assertJavascript("undefined", content, "out.println(typeof data.c)");
+ }
+ }
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletCreateTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletCreateTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletDeleteTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletDeleteTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletDeleteTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletDeleteTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,87 @@
+/*
+ * 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.sling.usling.webapp.integrationtest.ujax;
+
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.httpclient.NameValuePair;
+import org.apache.sling.usling.webapp.integrationtest.UslingHttpTestBase;
+
+/** Test node deletion via the MicrojaxPostServlet */
+public class PostServletDeleteTest extends UslingHttpTestBase {
+ public static final String TEST_BASE_PATH = "/ujax-tests";
+ private String postUrl;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ postUrl = HTTP_BASE_URL + TEST_BASE_PATH + "/" +
getClass().getSimpleName() + "/" + System.currentTimeMillis();
+
+ // TODO_FAILS: the Sling resource renderer currently goes up the path
for GETs
+ //assertHttpStatus(postUrl, HttpServletResponse.SC_NOT_FOUND,
+ // "Path must not exist before test: " + postUrl);
+ }
+
+ public void testNothing() {
+ // TODO remove this all TODO_FAILS_ are gone
+ }
+
+ public void TODO_FAILS_testDelete() throws IOException {
+ final String urlA = testClient.createNode(postUrl + "/UJAX_create",
null);
+ final String urlB = testClient.createNode(postUrl + "/UJAX_create",
null);
+ final String urlC = testClient.createNode(postUrl + "/UJAX_create",
null);
+ final String urlD = testClient.createNode(postUrl +
"/specific-location/for-delete", null);
+
+ // initially all nodes must be found
+ assertHttpStatus(urlA, HttpServletResponse.SC_OK, "A must initially
exist");
+ assertHttpStatus(urlB, HttpServletResponse.SC_OK, "B must initially
exist");
+ assertHttpStatus(urlC, HttpServletResponse.SC_OK, "C must initially
exist");
+ assertHttpStatus(urlD, HttpServletResponse.SC_OK, "D must initially
exist");
+
+ // delete one and check
+ final List <NameValuePair> params = new LinkedList<NameValuePair> ();
+ final String deleteCmd = "ujax:delete";
+ params.add(new NameValuePair(deleteCmd,urlToNodePath(urlA)));
+ assertPostStatus(postUrl,HttpServletResponse.SC_OK,params,"Delete must
return status OK (1)");
+ assertHttpStatus(urlA, HttpServletResponse.SC_NOT_FOUND, "A must be
deleted (1)");
+ assertHttpStatus(urlB, HttpServletResponse.SC_OK, "B must still
exist");
+ assertHttpStatus(urlC, HttpServletResponse.SC_OK, "C must still
exist");
+ assertHttpStatus(urlD, HttpServletResponse.SC_OK, "D must still
exist");
+
+ // delete the others with one request and check
+ params.clear();
+ params.add(new NameValuePair(deleteCmd,urlToNodePath(urlB)));
+ params.add(new NameValuePair(deleteCmd,urlToNodePath(urlC)));
+ params.add(new NameValuePair(deleteCmd,urlToNodePath(urlD)));
+ assertPostStatus(postUrl,HttpServletResponse.SC_OK,params,"Delete must
return status OK (2)");
+ assertHttpStatus(urlA, HttpServletResponse.SC_NOT_FOUND, "A must be
deleted (2)");
+ assertHttpStatus(urlB, HttpServletResponse.SC_NOT_FOUND, "B must be
deleted (2)");
+ assertHttpStatus(urlC, HttpServletResponse.SC_NOT_FOUND, "C must be
deleted (2)");
+ assertHttpStatus(urlD, HttpServletResponse.SC_NOT_FOUND, "D must be
deleted (2)");
+
+ // attempting to delete non-existing nodes is ok
+ assertPostStatus(postUrl,HttpServletResponse.SC_OK,params,"Repeated
delete must return status OK (3)");
+ }
+
+ private String urlToNodePath(String url) {
+ return url.substring(HTTP_BASE_URL.length());
+ }
+}
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletDeleteTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletDeleteTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletOrderTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletOrderTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletOrderTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletOrderTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,93 @@
+/*
+ * 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.sling.usling.webapp.integrationtest.ujax;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.usling.webapp.integrationtest.UslingHttpTestBase;
+
+/** Test the order option for node creation via the MicrojaxPostServlet */
+public class PostServletOrderTest extends UslingHttpTestBase {
+ public static final String TEST_BASE_PATH = "/ujax-tests";
+ private String postUrl;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ postUrl = HTTP_BASE_URL + TEST_BASE_PATH + "/" +
System.currentTimeMillis();
+ }
+
+ public void TODO_FAILS_testPostPathIsUnique() throws IOException {
+ assertHttpStatus(postUrl, HttpServletResponse.SC_NOT_FOUND,
+ "Path must not exist before test: " + postUrl);
+ }
+
+ /** Create several nodes without the order option, and check ordering */
+ public void testStandardOrder() throws IOException {
+ final String [] nodeUrl = new String[4];
+ nodeUrl[0] = testClient.createNode(postUrl + "/UJAX_create", null);
+ nodeUrl[1] = testClient.createNode(postUrl + "/UJAX_create", null);
+ nodeUrl[2] = testClient.createNode(postUrl + "/UJAX_create", null);
+ nodeUrl[3] = testClient.createNode(postUrl + "/UJAX_create", null);
+
+ final String [] nodeName = new String[nodeUrl.length];
+ for(int i = 0; i < nodeUrl.length; i++) {
+ nodeName[i] = nodeUrl[i].substring(nodeUrl[i].lastIndexOf('/') +
1);
+ }
+
+ // check that nodes appear in creation order in their parent's list of
children
+ final String json = getContent(postUrl + ".json?maxlevels=1",
CONTENT_TYPE_JSON);
+ for(int i = 0; i < nodeUrl.length - 1; i++) {
+ final int posA = json.indexOf(nodeName[i]);
+ final int posB = json.indexOf(nodeName[i + 1]);
+ if(posB <= posA) {
+ fail("Expected '" + nodeName[i] + " to come before " +
nodeName[i + 1] + " in JSON data '" + json + "'");
+ }
+ }
+ }
+
+ /** Create several nodes with the order option, and check ordering */
+ public void testZeroOrder() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("ujax:order","0");
+
+ final String [] nodeUrl = new String[4];
+ nodeUrl[0] = testClient.createNode(postUrl + "/UJAX_create", props);
+ nodeUrl[1] = testClient.createNode(postUrl + "/UJAX_create", props);
+ nodeUrl[2] = testClient.createNode(postUrl + "/UJAX_create", props);
+ nodeUrl[3] = testClient.createNode(postUrl + "/UJAX_create", props);
+
+ final String [] nodeName = new String[nodeUrl.length];
+ for(int i = 0; i < nodeUrl.length; i++) {
+ nodeName[i] = nodeUrl[i].substring(nodeUrl[i].lastIndexOf('/') +
1);
+ }
+
+ // check that nodes appear in reverse creation order in their parent's
list of children
+ final String json = getContent(postUrl + ".json?maxlevels=1",
CONTENT_TYPE_JSON);
+ for(int i = 0; i < nodeUrl.length - 1; i++) {
+ final int posA = json.indexOf(nodeName[i]);
+ final int posB = json.indexOf(nodeName[i + 1]);
+ if(posA <= posB) {
+ fail("Expected '" + nodeName[i] + " to come after " +
nodeName[i + 1] + " in JSON data '" + json + "'");
+ }
+ }
+ }
+ }
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletOrderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletOrderTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletUpdateTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletUpdateTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletUpdateTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletUpdateTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,101 @@
+/*
+ * 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.sling.usling.webapp.integrationtest.ujax;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.usling.webapp.integrationtest.UslingHttpTestBase;
+
+/** Test node updates via the MicrojaxPostServlet */
+public class PostServletUpdateTest extends UslingHttpTestBase {
+ public static final String TEST_BASE_PATH = "/ujax-tests";
+ private String postUrl;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ postUrl = HTTP_BASE_URL + TEST_BASE_PATH + "/" +
System.currentTimeMillis();
+ }
+
+ public void TODO_FAILS_testPostPathIsUnique() throws IOException {
+ assertHttpStatus(postUrl, HttpServletResponse.SC_NOT_FOUND,
+ "Path must not exist before test: " + postUrl);
+ }
+
+ public void testUpdateWithChanges() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("./a","123");
+ props.put("./b","456");
+
+ final String location = testClient.createNode(postUrl +
"/UJAX_create", props);
+ String content = getContent(location + ".json", CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+
+ props.put("./a","789");
+ // the testClient method is called createNode but all it does is a
POST,
+ // so it can be used for updates as well
+ final String newLocation = testClient.createNode(location, props);
+ assertEquals("Location must not changed after POST to existing
node",location,newLocation);
+ content = getContent(location + ".json", CONTENT_TYPE_JSON);
+ assertJavascript("789456", content, "out.println(data.a + data.b)");
+ }
+
+ public void testUpdateNoChanges() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("./a","123");
+ props.put("./b","456");
+
+ final String location = testClient.createNode(postUrl +
"/UJAX_create", props);
+ String content = getContent(location + ".json", CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+
+ props.clear();
+ // the testClient method is called createNode but all it does is a
POST,
+ // so it can be used for updates as well
+ final String newLocation = testClient.createNode(location, props);
+ assertEquals("Location must not changed after POST to existing
node",location,newLocation);
+ content = getContent(location + ".json", CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+ }
+
+ public void testUpdateSomeChanges() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("./a","123");
+ props.put("./b","456");
+ props.put("C","not stored");
+
+ final String location = testClient.createNode(postUrl +
"/UJAX_create", props);
+ String content = getContent(location + ".json", CONTENT_TYPE_JSON);
+ assertJavascript("123456", content, "out.println(data.a + data.b)");
+
+ props.clear();
+ props.put("./b","457");
+ props.put("C","still not stored");
+
+ // the testClient method is called createNode but all it does is a
POST,
+ // so it can be used for updates as well
+ final String newLocation = testClient.createNode(location, props);
+ assertEquals("Location must not changed after POST to existing
node",location,newLocation);
+ content = getContent(location + ".json", CONTENT_TYPE_JSON);
+ assertJavascript("123457", content, "out.println(data.a + data.b)");
+ }
+
+ }
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletUpdateTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/PostServletUpdateTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxAutoPropertiesTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxAutoPropertiesTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxAutoPropertiesTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxAutoPropertiesTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,102 @@
+/*
+ * 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.sling.usling.webapp.integrationtest.ujax;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.usling.webapp.integrationtest.UslingHttpTestBase;
+
+/** {#link MicrojaxPropertyValueSetter} sets the value of some properties
+ * automatically if they are empty. This is tested here with various cases.
+ */
+
+public class UjaxAutoPropertiesTest extends UslingHttpTestBase {
+
+ public static final String TEST_BASE_PATH = "/ujax-tests";
+ private String postUrl;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ postUrl = HTTP_BASE_URL + TEST_BASE_PATH + "/" +
System.currentTimeMillis();
+ }
+
+ public void TODO_FAILS_testPostPathIsUnique() throws IOException {
+ assertHttpStatus(postUrl, HttpServletResponse.SC_NOT_FOUND,
+ "Path must not exist before test: " + postUrl);
+ }
+
+ public void testCreatedAndModified() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("a","123");
+
+ props.put("created","");
+ props.put("createdBy","");
+ props.put("lastModified","");
+ props.put("lastModifiedBy","");
+
+ final String createdNodeUrl = testClient.createNode(postUrl +
"/UJAX_create", props);
+ String content = getContent(createdNodeUrl + ".json",
CONTENT_TYPE_JSON);
+
+ assertJavascript("123", content, "out.println(data.a)");
+ assertJavascript("admin", content, "out.println(data.createdBy)");
+ assertJavascript("admin", content, "out.println(data.lastModifiedBy)");
+ assertJavascript("true", content, "out.println(data.created.length >
0)");
+ assertJavascript("true", content,
"out.println(data.lastModified.length > 0)");
+ assertJavascript("true", content, "out.println(data.lastModified ==
data.created)");
+
+ // update node and check that "last modified" has changed
+ try {
+ Thread.sleep(1000L);
+ } catch(InterruptedException ignored) {
+ // ignore
+ }
+
+ testClient.createNode(createdNodeUrl, props);
+ content = getContent(createdNodeUrl + ".json", CONTENT_TYPE_JSON);
+
+ assertJavascript("123", content, "out.println(data.a)");
+ assertJavascript("admin", content, "out.println(data.createdBy)");
+ assertJavascript("admin", content, "out.println(data.lastModifiedBy)");
+ assertJavascript("true", content, "out.println(data.created.length >
0)");
+ assertJavascript("true", content,
"out.println(data.lastModified.length > 0)");
+ assertJavascript("true", content, "out.println(data.lastModified >
data.created)");
+ }
+
+ public void testWithSpecificValues() throws IOException {
+ final Map <String, String> props = new HashMap <String, String> ();
+ props.put("a","123");
+
+ props.put("created","a");
+ props.put("createdBy","b");
+ props.put("lastModified","c");
+ props.put("lastModifiedBy","d");
+
+ final String createdNodeUrl = testClient.createNode(postUrl +
"/UJAX_create", props);
+ final String content = getContent(createdNodeUrl + ".json",
CONTENT_TYPE_JSON);
+
+ assertJavascript("123", content, "out.println(data.a)");
+ assertJavascript("a", content, "out.println(data.created)");
+ assertJavascript("b", content, "out.println(data.createdBy)");
+ assertJavascript("c", content, "out.println(data.lastModified)");
+ assertJavascript("d", content, "out.println(data.lastModifiedBy)");
+ }
+}
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxAutoPropertiesTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxAutoPropertiesTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxSessionInfoTest.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxSessionInfoTest.java?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxSessionInfoTest.java
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxSessionInfoTest.java
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,41 @@
+/*
+ * 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.sling.usling.webapp.integrationtest.ujax;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.usling.webapp.integrationtest.UslingHttpTestBase;
+
+/** Test the ujax:sessionInfo resource */
+
+public class UjaxSessionInfoTest extends UslingHttpTestBase {
+
+ public void testNothing() {
+ // TODO remove this all TODO_FAILS_ are gone
+ }
+
+ public void TODO_FAILS_testSessionInfo() throws IOException {
+ final String content = getContent(HTTP_BASE_URL +
"/ujax:sessionInfo.json", CONTENT_TYPE_JSON);
+ assertJavascript("admin.default", content, "out.println(data.userID +
'.' + data.workspace)");
+ }
+
+ public void TODO_FAILS_testNonexistentUjaxUrl() throws IOException {
+ assertHttpStatus(HTTP_BASE_URL + "/ujax:nothing",
HttpServletResponse.SC_NOT_FOUND);
+ }
+}
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxSessionInfoTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/java/org/apache/sling/usling/webapp/integrationtest/ujax/UjaxSessionInfoTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/builtin-objects.esp
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/builtin-objects.esp?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/builtin-objects.esp
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/builtin-objects.esp
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,20 @@
+<%-- used by ScriptBuiltinObjectsTest --%>
+<html>
+ <body>
+ ESP template
+ <p><%= resource.node.text %></p>
+ </body>
+
+ <!-- test access request and to ServletContext -->
+ <%
+ var scClass = Packages.javax.servlet.ServletContext;
+ var sc = request.getServiceLocator().getService(scClass);
+ %>
+ <p>ServletContext:<%= sc.getMimeType('foo.txt') %></p>
+
+ <!-- test access to Response -->
+ <p>SlingHttpServletResponse:<%= response.containsHeader('NOT_A_HEADER')
%></p>
+
+ <!-- sling object is tested elsewhere (IncludeTest) -->
+
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/include-test.esp
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/include-test.esp?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/include-test.esp
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/include-test.esp
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,27 @@
+<%-- used by IncludeTest --%>
+<html>
+ <body>
+ <h1>ESP template</h1>
+ <p class="main"><%= resource.node.text %></p>
+
+ <%
+ if(resource.node.pathToInclude) {
+ %>
+ <p>pathToInclude = <%= resource.node.pathToInclude
%></p>
+ <p>Including <%= resource.node.pathToInclude %></p>
+ <%
+ sling.include(resource.node.pathToInclude + ".html");
+ }
+ %>
+
+ <%
+ if(resource.node.testInfiniteLoop) {
+ %>
+ <p>testInfiniteLoop = <%=
resource.node.testInfiniteLoop %></p>
+ <%
+ // try to include the item itself, to cause an
infinite loop
+ sling.include(resource.getPath() + ".html");
+ }
+ %>
+ </body>
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/post-test.esp
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/post-test.esp?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/post-test.esp
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/post-test.esp
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,19 @@
+<%
+var length = 0;
+if (request.getRequestParameter("file") != null) {
+ var file = null;
+ // store file
+ var reqPara = request.getRequestParameter("file");
+ var is = reqPara.getInputStream();
+ file = Packages.java.io.File.createTempFile("posttest", ".txt");
+ var fout = new Packages.java.io.FileOutputStream(file);
+ var c;
+ while ((c = is.read()) != -1) {
+ fout.write(c);
+ }
+ fout.close();
+
+ // read length
+ length = file.length();
+}
+%><%= Packages.java.lang.String.valueOf(length) %>
\ No newline at end of file
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-2.esp
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-2.esp?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-2.esp
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-2.esp
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,7 @@
+<%-- used by ScriptedRenderingTest --%>
+<html>
+ <body>
+ Template #2 for ESP tests
+ <p><b><%= resource.node.text %></b></p>
+ </body>
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-3.esp
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-3.esp?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-3.esp
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test-3.esp
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,7 @@
+<%-- used by ScriptedRenderingTest --%>
+<html>
+ <body>
+ Template #3 for ESP tests
+ <p><em><%= resource.node.text %></em></p>
+ </body>
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.erb
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.erb?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.erb
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.erb
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,15 @@
+!-- used by ScriptedRenderingTest -->
+<html>
+ <body>
+ <p><span>Ruby template <%= Time.now %></span></p>
+ <p><span><%= resource.getNode().getProperty("text").getString()
%></span></p>
+ <% unless props.nil? or props.empty? %>
+ <table>
+ <% for prop, val in props %>
+ <tr><td><b><%= prop %></b>:</td><td><%= val %></td></tr>
+ <% end %>
+ </table>
+ <% end %>
+ </body>
+</html>
+
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.esp
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.esp?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.esp
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.esp
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,18 @@
+<%-- used by ScriptedRenderingTest --%>
+<html>
+ <body>
+ ESP template
+ <p><%= resource.node.text %></p>
+
+ <!-- test SLING-142, compact syntax -->
+ <div class="SLING-142" id="${'2' + '2'}"/>
+
+ <!-- test access to microsling java classes -->
+ <%
+ var list = new Packages.java.util.LinkedList();
+ list.add("LinkedListTest");
+ %>
+ <p>Test<%= list.get(0) %></p>
+
+ </body>
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.ftl
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.ftl?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.ftl
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.ftl
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,7 @@
+<%-- used by ScriptedRenderingTest --%>
+<html>
+ <body>
+ FreeMarker template
+
<p><span>${resource.getNode().getProperty("text").getString()}</span></p>
+ </body>
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.js
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.js?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.js
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.js
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,5 @@
+// Used by ScriptedRenderingTest
+out.println("<html><body>");
+out.println("Raw javascript template");
+out.println("<p><em>" + resource.node.text + "</em></p>");
+out.print("</body></html>");
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.js
------------------------------------------------------------------------------
svn:eol-style = native
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.jst
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.jst?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.jst
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.jst
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,21 @@
+<%-- used by ScriptedRenderingTest --%>
+<p>
+ JST template.
+</p>
+
+<p>
+ <%= currentNode.title %> </b>
+</p>
+
+<p>
+ <%= currentNode.text %> </em>
+</p>
+
+<!-- verify that script tag is broken in two when rendering -->
+<!-- (SLING-114) -->
+
+<script>something scripted</script>
+
+<% for(i=0; i< 10; i++) {
+} %><script>more scripting</script><% for(i=0; i< 10; i++) {
+} %>
\ No newline at end of file
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.vlt
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.vlt?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.vlt
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/rendering-test.vlt
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,7 @@
+<!-- Used by ScriptedRenderingTest -->
+<html>
+ <body>
+ Velocity template
+
<p><b>$resource.getNode().getProperty("text").getString()</b></p>
+ </body>
+</html>
Added:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/testfile.html
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/testfile.html?rev=612830&view=auto
==============================================================================
---
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/testfile.html
(added)
+++
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/testfile.html
Thu Jan 17 06:41:57 2008
@@ -0,0 +1,5 @@
+<html>
+<body>
+This is <em>testfile.html</em>.
+</body>
+</html>
\ No newline at end of file
Propchange:
incubator/sling/trunk/usling/usling-webapp/src/test/resources/integration-test/testfile.html
------------------------------------------------------------------------------
svn:eol-style = native