diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.xtend b/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.xtend index da40ecf86..606a0c216 100644 --- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.xtend +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.xtend @@ -107,9 +107,7 @@ class LiveShadowedChunkedContainerTest { assertTrue(barContainer.hasResourceDescription(barURI)) assertFalse(barContainer.hasResourceDescription(fooURI)) assertEquals(barURI, barContainer.getResourceDescription(barURI).URI) - - assertEquals('foo', (liveShadowedChunkedResourceDescriptions.globalDescriptions as ChunkedResourceDescriptions).getContainer('foo').getExportedObjects.map[qualifiedName.toString].join(',')) - assertEquals('bar', (liveShadowedChunkedResourceDescriptions.globalDescriptions as ChunkedResourceDescriptions).getContainer('bar').getExportedObjects.map[qualifiedName.toString].join(',')) + assertGlobalDescriptionsAreUnaffected() } @Test @@ -120,12 +118,14 @@ class LiveShadowedChunkedContainerTest { assertEquals('baz,foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(',')) assertEquals(1, barContainer.resourceDescriptions.size) assertEquals(1, barContainer.resourceDescriptionCount) + assertGlobalDescriptionsAreUnaffected() rs1.resources.remove(bazResource) assertEquals(1, fooContainer.resourceDescriptions.size) assertEquals(1, fooContainer.resourceDescriptionCount) assertEquals('foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(',')) assertEquals(1, barContainer.resourceDescriptions.size) assertEquals(1, barContainer.resourceDescriptionCount) + assertGlobalDescriptionsAreUnaffected() } @Test @@ -138,6 +138,7 @@ class LiveShadowedChunkedContainerTest { assertEquals(oldURI, fooContainer.getExportedObjects(MODEL, QualifiedName.create('baz'), false).head.EObjectURI.trimFragment) assertEquals(1, barContainer.resourceDescriptions.size) assertEquals(1, barContainer.resourceDescriptionCount) + assertGlobalDescriptionsAreUnaffected() val newURI = URI.createURI(bazResource.URI.toString().replace('/foo/', '/bar/')) bazResource.URI = newURI assertEquals(1, fooContainer.resourceDescriptions.size) @@ -149,6 +150,7 @@ class LiveShadowedChunkedContainerTest { assertEquals(2, barContainer.resourceDescriptions.size) assertEquals(2, barContainer.resourceDescriptionCount) assertEquals(newURI, barContainer.getExportedObjects(MODEL, QualifiedName.create('baz'), false).head.EObjectURI.trimFragment) + assertGlobalDescriptionsAreUnaffected() } @Test @@ -167,6 +169,7 @@ class LiveShadowedChunkedContainerTest { assertEquals(1, bazContainer.resourceDescriptionCount) assertEquals('baz', bazContainer.exportedObjects.map[qualifiedName.toString].sort.join(',')) assertEquals(newURI, bazContainer.getExportedObjects(MODEL, QualifiedName.create('baz'), false).head.EObjectURI.trimFragment) + assertGlobalDescriptionsAreUnaffected() } @Test @@ -178,8 +181,15 @@ class LiveShadowedChunkedContainerTest { assertEquals(0, fooContainer.exportedObjects.size) assertEquals(1, barContainer.resourceDescriptions.size) assertEquals(1, barContainer.resourceDescriptionCount) + assertGlobalDescriptionsAreUnaffected() } + private def void assertGlobalDescriptionsAreUnaffected() { + assertEquals('foo', (liveShadowedChunkedResourceDescriptions.globalDescriptions as ChunkedResourceDescriptions).getContainer('foo').getExportedObjects.map[qualifiedName.toString].join(',')) + assertEquals('bar', (liveShadowedChunkedResourceDescriptions.globalDescriptions as ChunkedResourceDescriptions).getContainer('bar').getExportedObjects.map[qualifiedName.toString].join(',')) + } + + private def createResourceDescriptionData(Resource... resources) { new ResourceDescriptionsData(resources.map[ resourceDescriptionManager.getResourceDescription(it) diff --git a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.java b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.java index df267039c..f9af51f9c 100644 --- a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.java +++ b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/resource/containers/LiveShadowedChunkedContainerTest.java @@ -153,16 +153,7 @@ public class LiveShadowedChunkedContainerTest { Assert.assertTrue(this.barContainer.hasResourceDescription(this.barURI)); Assert.assertFalse(this.barContainer.hasResourceDescription(this.fooURI)); Assert.assertEquals(this.barURI, this.barContainer.getResourceDescription(this.barURI).getURI()); - IResourceDescriptions _globalDescriptions = this.liveShadowedChunkedResourceDescriptions.getGlobalDescriptions(); - final Function1 _function_6 = (IEObjectDescription it) -> { - return it.getQualifiedName().toString(); - }; - Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.map(((ChunkedResourceDescriptions) _globalDescriptions).getContainer("foo").getExportedObjects(), _function_6), ",")); - IResourceDescriptions _globalDescriptions_1 = this.liveShadowedChunkedResourceDescriptions.getGlobalDescriptions(); - final Function1 _function_7 = (IEObjectDescription it) -> { - return it.getQualifiedName().toString(); - }; - Assert.assertEquals("bar", IterableExtensions.join(IterableExtensions.map(((ChunkedResourceDescriptions) _globalDescriptions_1).getContainer("bar").getExportedObjects(), _function_7), ",")); + this.assertGlobalDescriptionsAreUnaffected(); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } @@ -180,6 +171,7 @@ public class LiveShadowedChunkedContainerTest { Assert.assertEquals("baz,foo", IterableExtensions.join(IterableExtensions.sort(IterableExtensions.map(this.fooContainer.getExportedObjects(), _function)), ",")); Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions())); Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount()); + this.assertGlobalDescriptionsAreUnaffected(); this.rs1.getResources().remove(bazResource); Assert.assertEquals(1, IterableExtensions.size(this.fooContainer.getResourceDescriptions())); Assert.assertEquals(1, this.fooContainer.getResourceDescriptionCount()); @@ -189,6 +181,7 @@ public class LiveShadowedChunkedContainerTest { Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.sort(IterableExtensions.map(this.fooContainer.getExportedObjects(), _function_1)), ",")); Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions())); Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount()); + this.assertGlobalDescriptionsAreUnaffected(); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } @@ -208,6 +201,7 @@ public class LiveShadowedChunkedContainerTest { Assert.assertEquals(oldURI, IterableExtensions.head(this.fooContainer.getExportedObjects(LiveContainerTestLanguagePackage.Literals.MODEL, QualifiedName.create("baz"), false)).getEObjectURI().trimFragment()); Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions())); Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount()); + this.assertGlobalDescriptionsAreUnaffected(); final URI newURI = URI.createURI(bazResource.getURI().toString().replace("/foo/", "/bar/")); bazResource.setURI(newURI); Assert.assertEquals(1, IterableExtensions.size(this.fooContainer.getResourceDescriptions())); @@ -225,6 +219,7 @@ public class LiveShadowedChunkedContainerTest { Assert.assertEquals(2, IterableExtensions.size(this.barContainer.getResourceDescriptions())); Assert.assertEquals(2, this.barContainer.getResourceDescriptionCount()); Assert.assertEquals(newURI, IterableExtensions.head(this.barContainer.getExportedObjects(LiveContainerTestLanguagePackage.Literals.MODEL, QualifiedName.create("baz"), false)).getEObjectURI().trimFragment()); + this.assertGlobalDescriptionsAreUnaffected(); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } @@ -256,6 +251,7 @@ public class LiveShadowedChunkedContainerTest { }; Assert.assertEquals("baz", IterableExtensions.join(IterableExtensions.sort(IterableExtensions.map(bazContainer.getExportedObjects(), _function_2)), ",")); Assert.assertEquals(newURI, IterableExtensions.head(bazContainer.getExportedObjects(LiveContainerTestLanguagePackage.Literals.MODEL, QualifiedName.create("baz"), false)).getEObjectURI().trimFragment()); + this.assertGlobalDescriptionsAreUnaffected(); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } @@ -274,11 +270,25 @@ public class LiveShadowedChunkedContainerTest { Assert.assertEquals(0, IterableExtensions.size(this.fooContainer.getExportedObjects())); Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions())); Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount()); + this.assertGlobalDescriptionsAreUnaffected(); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } } + private void assertGlobalDescriptionsAreUnaffected() { + IResourceDescriptions _globalDescriptions = this.liveShadowedChunkedResourceDescriptions.getGlobalDescriptions(); + final Function1 _function = (IEObjectDescription it) -> { + return it.getQualifiedName().toString(); + }; + Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.map(((ChunkedResourceDescriptions) _globalDescriptions).getContainer("foo").getExportedObjects(), _function), ",")); + IResourceDescriptions _globalDescriptions_1 = this.liveShadowedChunkedResourceDescriptions.getGlobalDescriptions(); + final Function1 _function_1 = (IEObjectDescription it) -> { + return it.getQualifiedName().toString(); + }; + Assert.assertEquals("bar", IterableExtensions.join(IterableExtensions.map(((ChunkedResourceDescriptions) _globalDescriptions_1).getContainer("bar").getExportedObjects(), _function_1), ",")); + } + private ResourceDescriptionsData createResourceDescriptionData(final Resource... resources) { final Function1 _function = (Resource it) -> { return this.resourceDescriptionManager.getResourceDescription(it);