SLING-7692 support for MockSession.refresh(false)
diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
index b87396a..16591fa 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockSession.java
@@ -294,6 +294,9 @@
@Override
public void refresh(final boolean keepChanges) throws RepositoryException {
+ if (!keepChanges){
+ this.items.clear();
+ }
// do nothing
checkLive();
}
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
index be50aff..2554ab1 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockSessionTest.java
@@ -136,6 +136,17 @@
}
@Test
+ public void testRevertFalse() throws RepositoryException {
+ Session session = MockJcr.newSession();
+ Node rootNode = session.getRootNode();
+ rootNode.addNode("node1");
+ assertTrue(session.itemExists("/node1"));
+ session.refresh(false);
+ assertFalse(session.itemExists("/node1"));
+ assertFalse(rootNode.getNodes().hasNext());
+ }
+
+ @Test
public void testNodesWithSpecialNames() throws RepositoryException {
Session session = MockJcr.newSession();