Author: andreas
Date: Fri Mar 13 13:22:54 2009
New Revision: 753237
URL: http://svn.apache.org/viewvc?rev=753237&view=rev
Log:
Adding test for cross-publication links.
Modified:
lenya/branches/BRANCH_2_0_X/src/modules-core/linking/java/test/org/apache/lenya/cms/linking/LinkTest.java
Modified: lenya/branches/BRANCH_2_0_X/src/modules-core/linking/java/test/org/apache/lenya/cms/linking/LinkTest.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules-core/linking/java/test/org/apache/lenya/cms/linking/LinkTest.java?rev=753237&r1=753236&r2=753237&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules-core/linking/java/test/org/apache/lenya/cms/linking/LinkTest.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules-core/linking/java/test/org/apache/lenya/cms/linking/LinkTest.java Fri Mar 13 13:22:54 2009
@@ -22,6 +22,7 @@
import org.apache.lenya.ac.impl.AbstractAccessControlTest;
import org.apache.lenya.cms.publication.Area;
import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.site.SiteStructure;
@@ -29,28 +30,28 @@
* Test for link functionality.
*/
public class LinkTest extends AbstractAccessControlTest {
-
+
/**
* Link test.
* @throws Exception
*/
public void testLinks() throws Exception {
-
+
Publication pub = getPublication("test");
Area area = pub.getArea("authoring");
SiteStructure site = area.getSite();
-
+
Document source = site.getNode("/index").getLink("en").getDocument();
Document target = site.getNode("/tutorial").getLink("en").getDocument();
-
+
LinkManager linkManager = null;
LinkResolver resolver = null;
try {
linkManager = (LinkManager) getManager().lookup(LinkManager.ROLE);
resolver = (LinkResolver) getManager().lookup(LinkResolver.ROLE);
-
+
Link[] links = linkManager.getLinksFrom(source);
-
+
boolean matched = false;
for (int i = 0; i < links.length; i++) {
LinkTarget linkTarget = resolver.resolve(source, links[i].getUri());
@@ -58,13 +59,12 @@
matched = true;
}
}
-
+
assertTrue(matched);
-
+
Document[] references = linkManager.getReferencingDocuments(target);
assertTrue(Arrays.asList(references).contains(source));
- }
- finally {
+ } finally {
if (linkManager != null) {
getManager().release(linkManager);
}
@@ -72,7 +72,45 @@
getManager().release(resolver);
}
}
-
+
+ }
+
+ /**
+ * Test links across publications.
+ * @throws Exception
+ */
+ public void testInterPublicationLinks() throws Exception {
+
+ final Publication defaultPub = getPublication("default");
+ final Document[] docs = defaultPub.getArea(Publication.AUTHORING_AREA).getDocuments();
+ if (docs.length == 0) {
+ getLogger().warn("To run this test, the default publication has to contain documents.");
+ }
+
+ final Document source = docs[0];
+
+ final Publication pub = getPublication("test");
+ final Area area = pub.getArea("authoring");
+ final SiteStructure site = area.getSite();
+
+ final Document target = site.getNode("/index").getLink("en").getDocument();
+ final String relativeLink = "lenya-document:" + target.getUUID() + ",lang="
+ + target.getLanguage();
+ final String absoluteLink = relativeLink + ",pub=test";
+
+ LinkResolver resolver = null;
+ try {
+ resolver = (LinkResolver) getManager().lookup(LinkResolver.ROLE);
+
+ assertFalse(resolver.resolve(source, relativeLink).exists());
+ assertTrue(resolver.resolve(source, absoluteLink).exists());
+
+ } finally {
+ if (resolver != null) {
+ getManager().release(resolver);
+ }
+ }
+
}
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.