You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2022/06/01 12:10:54 UTC

[sling-org-apache-sling-testing-sling-mock] branch master updated: SLING-11362 Prevent potential ClassCastException in tearDown (#13)

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git


The following commit(s) were added to refs/heads/master by this push:
     new 07497b2  SLING-11362 Prevent potential ClassCastException in tearDown (#13)
07497b2 is described below

commit 07497b27abc042a2becd77eebb0ac0c2b6e9b70b
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Jun 1 14:10:49 2022 +0200

    SLING-11362 Prevent potential ClassCastException in tearDown (#13)
---
 .../apache/sling/testing/mock/sling/context/SlingContextImpl.java | 6 +++---
 .../testing/mock/sling/context/AbstractSlingContextImplTest.java  | 8 ++++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java b/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
index a8b0b48..029d84a 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/context/SlingContextImpl.java
@@ -217,9 +217,9 @@ public class SlingContextImpl extends OsgiContextImpl {
     protected void tearDown() {
 
         if (this.request != null) {
-            MockSlingBindings slingBindings = (MockSlingBindings)this.request.getAttribute(SlingBindings.class.getName());
-            if (slingBindings != null) {
-                slingBindings.tearDown();
+            SlingBindings slingBindings = (SlingBindings)this.request.getAttribute(SlingBindings.class.getName());
+            if (slingBindings instanceof MockSlingBindings) {
+                ((MockSlingBindings)slingBindings).tearDown();
             }
         }
 
diff --git a/core/src/test/java/org/apache/sling/testing/mock/sling/context/AbstractSlingContextImplTest.java b/core/src/test/java/org/apache/sling/testing/mock/sling/context/AbstractSlingContextImplTest.java
index a40c75f..65e0b43 100644
--- a/core/src/test/java/org/apache/sling/testing/mock/sling/context/AbstractSlingContextImplTest.java
+++ b/core/src/test/java/org/apache/sling/testing/mock/sling/context/AbstractSlingContextImplTest.java
@@ -82,6 +82,14 @@ public abstract class AbstractSlingContextImplTest {
         assertSame(context.slingScriptHelper(), bindings.get(SlingBindings.SLING));
     }
 
+    @Test
+    public void testNonMockedSlingBindings() {
+        final SlingBindings slingBindings = new SlingBindings();
+        context.request().setAttribute(SlingBindings.class.getName(), slingBindings);
+        SlingBindings bindings = (SlingBindings) context.request().getAttribute(SlingBindings.class.getName());
+        assertNotNull(bindings);
+    }
+
     @Test
     public void testSetCurrentResource() {
         context.currentResource("/content/sample/en/jcr:content/par/colctrl");