Index: dart/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/index/file/SplitIndexStoreImplTest.java |
=================================================================== |
--- dart/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/index/file/SplitIndexStoreImplTest.java (revision 0) |
+++ dart/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/index/file/SplitIndexStoreImplTest.java (revision 0) |
@@ -0,0 +1,609 @@ |
+/* |
+ * Copyright (c) 2014, the Dart project authors. |
+ * |
+ * Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except |
+ * in compliance with the License. You may obtain a copy of the License at |
+ * |
+ * http://www.eclipse.org/legal/epl-v10.html |
+ * |
+ * Unless required by applicable law or agreed to in writing, software distributed under the License |
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
+ * or implied. See the License for the specific language governing permissions and limitations under |
+ * the License. |
+ */ |
+package com.google.dart.engine.internal.index.file; |
+ |
+import com.google.common.base.Objects; |
+import com.google.common.collect.Lists; |
+import com.google.dart.engine.EngineTestCase; |
+import com.google.dart.engine.context.AnalysisContext; |
+import com.google.dart.engine.element.CompilationUnitElement; |
+import com.google.dart.engine.element.Element; |
+import com.google.dart.engine.element.ElementKind; |
+import com.google.dart.engine.element.ElementLocation; |
+import com.google.dart.engine.element.HtmlElement; |
+import com.google.dart.engine.element.LibraryElement; |
+import com.google.dart.engine.index.Location; |
+import com.google.dart.engine.index.Relationship; |
+import com.google.dart.engine.index.UniverseElement; |
+import com.google.dart.engine.internal.context.InstrumentedAnalysisContextImpl; |
+import com.google.dart.engine.internal.element.ElementLocationImpl; |
+import com.google.dart.engine.source.Source; |
+import com.google.dart.engine.source.SourceContainer; |
+ |
+import static org.fest.assertions.Assertions.assertThat; |
+import static org.mockito.Mockito.mock; |
+import static org.mockito.Mockito.when; |
+ |
+import java.util.List; |
+ |
+public class SplitIndexStoreImplTest extends EngineTestCase { |
+ /** |
+ * {@link Location} has no "equals" and "hasCode", so to compare locations by value we need to |
+ * wrap them into such object. |
+ */ |
+ private static class LocationEqualsWrapper { |
+ private final Location location; |
+ |
+ LocationEqualsWrapper(Location location) { |
+ this.location = location; |
+ } |
+ |
+ @Override |
+ public boolean equals(Object obj) { |
+ if (!(obj instanceof LocationEqualsWrapper)) { |
+ return false; |
+ } |
+ LocationEqualsWrapper other = (LocationEqualsWrapper) obj; |
+ return other.location.getOffset() == location.getOffset() |
+ && other.location.getLength() == location.getLength() |
+ && Objects.equal(other.location.getElement(), location.getElement()); |
+ } |
+ |
+ @Override |
+ public int hashCode() { |
+ return Objects.hashCode(location.getElement(), location.getOffset(), location.getLength()); |
+ } |
+ } |
+ |
+ /** |
+ * Asserts that the "actual" locations have all the "expected" locations and only them. |
+ */ |
+ private static void assertLocations(Location[] actual, Location... expected) { |
+ LocationEqualsWrapper[] actualWrappers = wrapLocations(actual); |
+ LocationEqualsWrapper[] expectedWrappers = wrapLocations(expected); |
+ assertThat(actualWrappers).containsOnly((Object[]) expectedWrappers); |
+ } |
+ |
+ /** |
+ * @return the new {@link Location} mock. |
+ */ |
+ private static Location mockLocation(Element element) { |
+ Location location = mock(Location.class); |
+ when(location.newClone()).thenReturn(location); |
+ when(location.getElement()).thenReturn(element); |
+ return location; |
+ } |
+ |
+ /** |
+ * Wraps the given locations into {@link LocationEqualsWrapper}. |
+ */ |
+ private static LocationEqualsWrapper[] wrapLocations(Location[] locations) { |
+ List<LocationEqualsWrapper> wrappers = Lists.newArrayList(); |
+ for (Location location : locations) { |
+ wrappers.add(new LocationEqualsWrapper(location)); |
+ } |
+ return wrappers.toArray(new LocationEqualsWrapper[wrappers.size()]); |
+ } |
+ |
+ private MemoryNodeManager nodeManager = new MemoryNodeManager(); |
+ private SplitIndexStoreImpl store = new SplitIndexStoreImpl(nodeManager); |
+ |
+ private AnalysisContext contextA = mock(AnalysisContext.class); |
+ private AnalysisContext contextB = mock(AnalysisContext.class); |
+ private AnalysisContext contextC = mock(AnalysisContext.class); |
+ private ElementLocation elementLocationA = new ElementLocationImpl(new String[] { |
+ "/home/user/sourceA.dart", "ClassA"}); |
+ private ElementLocation elementLocationB = new ElementLocationImpl(new String[] { |
+ "/home/user/sourceB.dart", "ClassB"}); |
+ private ElementLocation elementLocationC = new ElementLocationImpl(new String[] { |
+ "/home/user/sourceC.dart", "ClassC"}); |
+ private ElementLocation elementLocationD = new ElementLocationImpl(new String[] { |
+ "/home/user/sourceD.dart", "ClassD"}); |
+ private Element elementA = mock(Element.class); |
+ private Element elementB = mock(Element.class); |
+ private Element elementC = mock(Element.class); |
+ private Element elementD = mock(Element.class); |
+ private Source librarySource = mock(Source.class); |
+ private Source sourceA = mock(Source.class); |
+ private Source sourceB = mock(Source.class); |
+ private Source sourceC = mock(Source.class); |
+ private Source sourceD = mock(Source.class); |
+ private LibraryElement libraryElement = mock(LibraryElement.class); |
+ private CompilationUnitElement libraryUnitElement = mock(CompilationUnitElement.class); |
+ private CompilationUnitElement unitElementA = mock(CompilationUnitElement.class); |
+ private CompilationUnitElement unitElementB = mock(CompilationUnitElement.class); |
+ private CompilationUnitElement unitElementC = mock(CompilationUnitElement.class); |
+ private CompilationUnitElement unitElementD = mock(CompilationUnitElement.class); |
+ private HtmlElement htmlElementA = mock(HtmlElement.class); |
+ private HtmlElement htmlElementB = mock(HtmlElement.class); |
+ private Relationship relationship = Relationship.getRelationship("test-relationship"); |
+ |
+ public void test_aboutToIndexDart_disposedContext() throws Exception { |
+ when(contextA.isDisposed()).thenReturn(true); |
+ assertEquals(false, store.aboutToIndexDart(contextA, unitElementA)); |
+ } |
+ |
+ public void test_aboutToIndexDart_disposedContext_wrapped() throws Exception { |
+ when(contextA.isDisposed()).thenReturn(true); |
+ InstrumentedAnalysisContextImpl instrumentedContext = mock(InstrumentedAnalysisContextImpl.class); |
+ when(instrumentedContext.getBasis()).thenReturn(contextA); |
+ assertEquals(false, store.aboutToIndexDart(instrumentedContext, unitElementA)); |
+ } |
+ |
+ public void test_aboutToIndexDart_library_first() throws Exception { |
+ when(libraryElement.getParts()).thenReturn( |
+ new CompilationUnitElement[] {unitElementA, unitElementB}); |
+ { |
+ store.aboutToIndexDart(contextA, libraryUnitElement); |
+ store.doneIndex(); |
+ } |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations); |
+ } |
+ } |
+ |
+ public void test_aboutToIndexDart_library_secondWithoutOneUnit() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ // "A" and "B" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ // apply "libraryUnitElement", only with "B" |
+ when(libraryElement.getParts()).thenReturn(new CompilationUnitElement[] {unitElementB}); |
+ { |
+ store.aboutToIndexDart(contextA, libraryUnitElement); |
+ store.doneIndex(); |
+ } |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationB); |
+ } |
+ } |
+ |
+ public void test_aboutToIndexDart_nullLibraryElement() throws Exception { |
+ when(unitElementA.getLibrary()).thenReturn(null); |
+ assertEquals(false, store.aboutToIndexDart(contextA, unitElementA)); |
+ } |
+ |
+ public void test_aboutToIndexDart_nullLibraryUnitElement() throws Exception { |
+ when(libraryElement.getDefiningCompilationUnit()).thenReturn(null); |
+ assertEquals(false, store.aboutToIndexDart(contextA, unitElementA)); |
+ } |
+ |
+ public void test_aboutToIndexDart_nullUnitElement() throws Exception { |
+ assertEquals(false, store.aboutToIndexDart(contextA, null)); |
+ } |
+ |
+ public void test_aboutToIndexHtml_() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexHtml(contextA, htmlElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexHtml(contextA, htmlElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ // "A" and "B" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ } |
+ |
+ public void test_aboutToIndexHtml_disposedContext() throws Exception { |
+ when(contextA.isDisposed()).thenReturn(true); |
+ assertEquals(false, store.aboutToIndexHtml(contextA, htmlElementA)); |
+ } |
+ |
+ public void test_clear() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ assertFalse(nodeManager.isEmpty()); |
+ // clear |
+ store.clear(); |
+ assertTrue(nodeManager.isEmpty()); |
+ } |
+ |
+ public void test_getRelationships_empty() throws Exception { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertThat(locations).isEmpty(); |
+ } |
+ |
+ public void test_getStatistics() throws Exception { |
+ // empty initially |
+ assertThat(store.getStatistics()).contains("0 locations").contains("0 sources"); |
+ // add 2 locations |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ assertThat(store.getStatistics()).contains("2 locations").contains("3 sources"); |
+ } |
+ |
+ public void test_recordRelationship_errorElementKind() throws Exception { |
+ when(elementA.getKind()).thenReturn(ElementKind.ERROR); |
+ Location locationA = mockLocation(elementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ assertTrue(nodeManager.isEmpty()); |
+ } |
+ |
+ public void test_recordRelationship_nullElement() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ store.recordRelationship(null, relationship, locationA); |
+ store.doneIndex(); |
+ assertTrue(nodeManager.isEmpty()); |
+ } |
+ |
+ public void test_recordRelationship_nullLocation() throws Exception { |
+ store.recordRelationship(elementA, relationship, null); |
+ store.doneIndex(); |
+ assertTrue(nodeManager.isEmpty()); |
+ } |
+ |
+ public void test_recordRelationship_oneElement_twoNodes() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ } |
+ |
+ public void test_recordRelationship_oneLocation() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA); |
+ } |
+ } |
+ |
+ public void test_recordRelationship_twoLocations() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementA); |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ } |
+ |
+ public void test_removeContext() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ // "A" and "B" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ // remove "A" context |
+ store.removeContext(contextA); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations); |
+ } |
+ } |
+ |
+ public void test_removeContext_nullContext() throws Exception { |
+ store.removeContext(null); |
+ } |
+ |
+ public void test_removeSource_library() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ Location locationC = mockLocation(elementC); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementC); |
+ store.recordRelationship(elementA, relationship, locationC); |
+ store.doneIndex(); |
+ } |
+ // "A", "B" and "C" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB, locationC); |
+ } |
+ // remove "librarySource" |
+ store.removeSource(contextA, librarySource); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations); |
+ } |
+ } |
+ |
+ public void test_removeSource_nullContext() throws Exception { |
+ store.removeSource(null, sourceA); |
+ } |
+ |
+ public void test_removeSource_unit() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ Location locationC = mockLocation(elementC); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementC); |
+ store.recordRelationship(elementA, relationship, locationC); |
+ store.doneIndex(); |
+ } |
+ // "A", "B" and "C" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB, locationC); |
+ } |
+ // remove "A" source |
+ store.removeSource(contextA, sourceA); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationB, locationC); |
+ } |
+ } |
+ |
+ public void test_removeSources_library() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ // "A" and "B" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ // remove "librarySource" |
+ store.removeSources(contextA, new SourceContainer() { |
+ @Override |
+ public boolean contains(Source source) { |
+ return source == librarySource; |
+ } |
+ }); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations); |
+ } |
+ } |
+ |
+ public void test_removeSources_nullContext() throws Exception { |
+ store.removeSources(null, null); |
+ } |
+ |
+ public void test_removeSources_unit() throws Exception { |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ Location locationC = mockLocation(elementC); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(elementA, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementB); |
+ store.recordRelationship(elementA, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextA, unitElementC); |
+ store.recordRelationship(elementA, relationship, locationC); |
+ store.doneIndex(); |
+ } |
+ // "A", "B" and "C" locations |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationA, locationB, locationC); |
+ } |
+ // remove "A" source |
+ store.removeSources(contextA, new SourceContainer() { |
+ @Override |
+ public boolean contains(Source source) { |
+ return source == sourceA; |
+ } |
+ }); |
+ { |
+ Location[] locations = store.getRelationships(elementA, relationship); |
+ assertLocations(locations, locationB, locationC); |
+ } |
+ } |
+ |
+ public void test_universe_aboutToIndex() throws Exception { |
+ when(contextA.getElement(elementLocationA)).thenReturn(elementA); |
+ when(contextB.getElement(elementLocationB)).thenReturn(elementB); |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(UniverseElement.INSTANCE, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextB, unitElementB); |
+ store.recordRelationship(UniverseElement.INSTANCE, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ { |
+ Location[] locations = store.getRelationships(UniverseElement.INSTANCE, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ // re-index "unitElementA" |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.doneIndex(); |
+ { |
+ Location[] locations = store.getRelationships(UniverseElement.INSTANCE, relationship); |
+ assertLocations(locations, locationB); |
+ } |
+ } |
+ |
+ public void test_universe_removeContext() throws Exception { |
+ when(contextA.getElement(elementLocationA)).thenReturn(elementA); |
+ when(contextB.getElement(elementLocationB)).thenReturn(elementB); |
+ Location locationA = mockLocation(elementA); |
+ Location locationB = mockLocation(elementB); |
+ { |
+ store.aboutToIndexDart(contextA, unitElementA); |
+ store.recordRelationship(UniverseElement.INSTANCE, relationship, locationA); |
+ store.doneIndex(); |
+ } |
+ { |
+ store.aboutToIndexDart(contextB, unitElementB); |
+ store.recordRelationship(UniverseElement.INSTANCE, relationship, locationB); |
+ store.doneIndex(); |
+ } |
+ { |
+ Location[] locations = store.getRelationships(UniverseElement.INSTANCE, relationship); |
+ assertLocations(locations, locationA, locationB); |
+ } |
+ // remove "contextA" |
+ store.removeContext(contextA); |
+ { |
+ Location[] locations = store.getRelationships(UniverseElement.INSTANCE, relationship); |
+ assertLocations(locations, locationB); |
+ } |
+ } |
+ |
+ @Override |
+ protected void setUp() throws Exception { |
+ super.setUp(); |
+ when(contextA.toString()).thenReturn("contextA"); |
+ when(contextB.toString()).thenReturn("contextB"); |
+ when(contextC.toString()).thenReturn("contextC"); |
+ when(contextA.getElement(elementLocationA)).thenReturn(elementA); |
+ when(contextA.getElement(elementLocationB)).thenReturn(elementB); |
+ when(contextA.getElement(elementLocationC)).thenReturn(elementC); |
+ when(contextA.getElement(elementLocationD)).thenReturn(elementD); |
+ when(sourceA.toString()).thenReturn("sourceA"); |
+ when(sourceB.toString()).thenReturn("sourceB"); |
+ when(sourceC.toString()).thenReturn("sourceC"); |
+ when(sourceD.toString()).thenReturn("sourceD"); |
+ when(sourceA.getFullName()).thenReturn("/home/user/sourceA.dart"); |
+ when(sourceB.getFullName()).thenReturn("/home/user/sourceB.dart"); |
+ when(sourceC.getFullName()).thenReturn("/home/user/sourceC.dart"); |
+ when(sourceD.getFullName()).thenReturn("/home/user/sourceD.dart"); |
+ when(elementA.toString()).thenReturn("elementA"); |
+ when(elementB.toString()).thenReturn("elementB"); |
+ when(elementC.toString()).thenReturn("elementC"); |
+ when(elementD.toString()).thenReturn("elementD"); |
+ when(elementA.getContext()).thenReturn(contextA); |
+ when(elementB.getContext()).thenReturn(contextA); |
+ when(elementC.getContext()).thenReturn(contextA); |
+ when(elementD.getContext()).thenReturn(contextA); |
+ when(elementA.getLocation()).thenReturn(elementLocationA); |
+ when(elementB.getLocation()).thenReturn(elementLocationB); |
+ when(elementC.getLocation()).thenReturn(elementLocationC); |
+ when(elementD.getLocation()).thenReturn(elementLocationD); |
+ when(elementA.getEnclosingElement()).thenReturn(unitElementA); |
+ when(elementB.getEnclosingElement()).thenReturn(unitElementB); |
+ when(elementC.getEnclosingElement()).thenReturn(unitElementC); |
+ when(elementD.getEnclosingElement()).thenReturn(unitElementD); |
+ when(elementA.getSource()).thenReturn(sourceA); |
+ when(elementB.getSource()).thenReturn(sourceB); |
+ when(elementC.getSource()).thenReturn(sourceC); |
+ when(elementD.getSource()).thenReturn(sourceD); |
+ when(elementA.getLibrary()).thenReturn(libraryElement); |
+ when(elementB.getLibrary()).thenReturn(libraryElement); |
+ when(elementC.getLibrary()).thenReturn(libraryElement); |
+ when(elementD.getLibrary()).thenReturn(libraryElement); |
+ when(unitElementA.getSource()).thenReturn(sourceA); |
+ when(unitElementB.getSource()).thenReturn(sourceB); |
+ when(unitElementC.getSource()).thenReturn(sourceC); |
+ when(unitElementD.getSource()).thenReturn(sourceD); |
+ when(unitElementA.getLibrary()).thenReturn(libraryElement); |
+ when(unitElementB.getLibrary()).thenReturn(libraryElement); |
+ when(unitElementC.getLibrary()).thenReturn(libraryElement); |
+ when(unitElementD.getLibrary()).thenReturn(libraryElement); |
+ when(htmlElementA.getSource()).thenReturn(sourceA); |
+ when(htmlElementB.getSource()).thenReturn(sourceB); |
+ // library |
+ when(librarySource.toString()).thenReturn("libSource"); |
+ when(libraryUnitElement.getLibrary()).thenReturn(libraryElement); |
+ when(libraryUnitElement.getSource()).thenReturn(librarySource); |
+ when(libraryElement.getSource()).thenReturn(librarySource); |
+ when(libraryElement.getDefiningCompilationUnit()).thenReturn(libraryUnitElement); |
+ } |
+} |
Property changes on: dart/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/index/file/SplitIndexStoreImplTest.java |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |