Return-Path: X-Original-To: apmail-sling-commits-archive@www.apache.org Delivered-To: apmail-sling-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 99CD01868F for ; Wed, 28 Oct 2015 08:25:42 +0000 (UTC) Received: (qmail 94156 invoked by uid 500); 28 Oct 2015 08:25:42 -0000 Delivered-To: apmail-sling-commits-archive@sling.apache.org Received: (qmail 94094 invoked by uid 500); 28 Oct 2015 08:25:42 -0000 Mailing-List: contact commits-help@sling.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@sling.apache.org Delivered-To: mailing list commits@sling.apache.org Received: (qmail 94085 invoked by uid 99); 28 Oct 2015 08:25:42 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Oct 2015 08:25:42 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id CDBCBC0FD1 for ; Wed, 28 Oct 2015 08:25:41 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.99 X-Spam-Level: X-Spam-Status: No, score=0.99 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id vd7vS0g0aU_u for ; Wed, 28 Oct 2015 08:25:40 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTP id 9780A2095A for ; Wed, 28 Oct 2015 08:25:39 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id C81B8E042E for ; Wed, 28 Oct 2015 08:25:38 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id A52CB3A01A5 for ; Wed, 28 Oct 2015 08:25:38 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1710961 - /sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java Date: Wed, 28 Oct 2015 08:25:38 -0000 To: commits@sling.apache.org From: sseifert@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20151028082538.A52CB3A01A5@svn01-us-west.apache.org> Author: sseifert Date: Wed Oct 28 08:25:38 2015 New Revision: 1710961 URL: http://svn.apache.org/viewvc?rev=1710961&view=rev Log: SLING-5207 add another unit test to test with typical resource type hierarchy Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java?rev=1710961&r1=1710960&r2=1710961&view=diff ============================================================================== --- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java (original) +++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java Wed Oct 28 08:25:38 2015 @@ -489,11 +489,8 @@ public class ResourceResolverImplTest { } } - @Test public void test_getResourceSuperType() throws LoginException { - // the resource resolver - final List resolvers = new ArrayList(); - final PathBasedResourceResolverImpl resolver = new PathBasedResourceResolverImpl(resolvers, resourceProviderTracker); - resolvers.add(resolver); + @Test public void test_getResourceSuperType() { + final PathBasedResourceResolverImpl resolver = getPathBasedResourceResolver(); // the resources to test final Resource r = resolver.add(new SyntheticResource(resolver, "/a", "a:b")); @@ -504,10 +501,8 @@ public class ResourceResolverImplTest { assertNull(resolver.getParentResourceType(r2.getResourceType())); } - @Test public void test_isA() throws LoginException { - final List resolvers = new ArrayList(); - final PathBasedResourceResolverImpl resolver = new PathBasedResourceResolverImpl(resolvers, resourceProviderTracker); - resolvers.add(resolver); + @Test public void testIsResourceType() { + final PathBasedResourceResolverImpl resolver = getPathBasedResourceResolver(); final Resource r = resolver.add(new SyntheticResourceWithSupertype(resolver, "/a", "a:b", "d:e")); resolver.add(new SyntheticResourceWithSupertype(resolver, "/d/e", "x:y", "t:c")); @@ -519,6 +514,54 @@ public class ResourceResolverImplTest { assertFalse(resolver.isResourceType(r, "h:p")); } + @Test public void testIsResourceTypeWithPaths() { + final PathBasedResourceResolverImpl resolver = getPathBasedResourceResolver(); + + /** + * prepare resource type hierarchy + * /types/1 + * +- /types/2 + * +- /types/3 + */ + resolver.add(new SyntheticResourceWithSupertype(resolver, "/types/1", "/types/component", "/types/2")); + resolver.add(new SyntheticResourceWithSupertype(resolver, "/types/2", "/types/component", "/types/3")); + resolver.add(new SyntheticResource(resolver, "/types/3", "/types/component")); + + Resource resourceT1 = resolver.add(new SyntheticResource(resolver, "/resourceT1", "/types/1")); + Resource resourceT2 = resolver.add(new SyntheticResource(resolver, "/resourceT2", "/types/2")); + Resource resourceT3 = resolver.add(new SyntheticResource(resolver, "/resourceT3", "/types/3")); + + assertTrue(resolver.isResourceType(resourceT1, "/types/1")); + assertTrue(resolver.isResourceType(resourceT1, "/types/2")); + assertTrue(resolver.isResourceType(resourceT1, "/types/3")); + assertFalse(resolver.isResourceType(resourceT1, "/types/component")); + assertFalse(resolver.isResourceType(resourceT1, "/types/unknown")); + + assertFalse(resolver.isResourceType(resourceT2, "/types/1")); + assertTrue(resolver.isResourceType(resourceT2, "/types/2")); + assertTrue(resolver.isResourceType(resourceT2, "/types/3")); + assertFalse(resolver.isResourceType(resourceT2, "/types/component")); + assertFalse(resolver.isResourceType(resourceT2, "/types/unknown")); + + assertFalse(resolver.isResourceType(resourceT3, "/types/1")); + assertFalse(resolver.isResourceType(resourceT3, "/types/2")); + assertTrue(resolver.isResourceType(resourceT3, "/types/3")); + assertFalse(resolver.isResourceType(resourceT3, "/types/component")); + assertFalse(resolver.isResourceType(resourceT3, "/types/unknown")); + } + + private PathBasedResourceResolverImpl getPathBasedResourceResolver() { + try { + final List resolvers = new ArrayList(); + final PathBasedResourceResolverImpl resolver = new PathBasedResourceResolverImpl(resolvers, resourceProviderTracker); + resolvers.add(resolver); + return resolver; + } + catch (LoginException ex) { + throw new RuntimeException(ex); + } + } + private static class PathBasedResourceResolverImpl extends ResourceResolverImpl { private final Map resources = new HashMap();