OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013, the Dart project authors. | 2 * Copyright (c) 2013, the Dart project authors. |
3 * | 3 * |
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except | 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except |
5 * in compliance with the License. You may obtain a copy of the License at | 5 * in compliance with the License. You may obtain a copy of the License at |
6 * | 6 * |
7 * http://www.eclipse.org/legal/epl-v10.html | 7 * http://www.eclipse.org/legal/epl-v10.html |
8 * | 8 * |
9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License | 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License |
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express | 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express |
11 * or implied. See the License for the specific language governing permissions a
nd limitations under | 11 * or implied. See the License for the specific language governing permissions a
nd limitations under |
12 * the License. | 12 * the License. |
13 */ | 13 */ |
14 package com.google.dart.tools.core.internal.analysis.model; | 14 package com.google.dart.tools.core.internal.analysis.model; |
15 | 15 |
16 import com.google.dart.engine.context.AnalysisContext; | 16 import com.google.dart.engine.context.AnalysisContext; |
| 17 import com.google.dart.engine.context.ChangeSet; |
17 import com.google.dart.engine.index.Index; | 18 import com.google.dart.engine.index.Index; |
18 import com.google.dart.engine.sdk.DartSdk; | 19 import com.google.dart.engine.sdk.DartSdk; |
19 import com.google.dart.engine.sdk.DirectoryBasedDartSdk; | 20 import com.google.dart.engine.sdk.DirectoryBasedDartSdk; |
| 21 import com.google.dart.engine.source.FileBasedSource; |
20 import com.google.dart.tools.core.DartCore; | 22 import com.google.dart.tools.core.DartCore; |
21 import com.google.dart.tools.core.analysis.model.Project; | 23 import com.google.dart.tools.core.analysis.model.Project; |
22 import com.google.dart.tools.core.analysis.model.ProjectManager; | 24 import com.google.dart.tools.core.analysis.model.ProjectManager; |
23 import com.google.dart.tools.core.internal.builder.MockContext; | 25 import com.google.dart.tools.core.internal.builder.MockContext; |
24 import com.google.dart.tools.core.internal.builder.TestProjects; | 26 import com.google.dart.tools.core.internal.builder.TestProjects; |
25 import com.google.dart.tools.core.internal.model.DartIgnoreManager; | 27 import com.google.dart.tools.core.internal.model.DartIgnoreManager; |
26 import com.google.dart.tools.core.mock.MockDelta; | 28 import com.google.dart.tools.core.mock.MockDelta; |
27 import com.google.dart.tools.core.mock.MockFile; | 29 import com.google.dart.tools.core.mock.MockFile; |
28 import com.google.dart.tools.core.mock.MockFolder; | 30 import com.google.dart.tools.core.mock.MockFolder; |
29 import com.google.dart.tools.core.mock.MockProject; | 31 import com.google.dart.tools.core.mock.MockProject; |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 manager.assertProjectRemoved(null); | 137 manager.assertProjectRemoved(null); |
136 processor.assertBackgroundAnalysisStarted(false); | 138 processor.assertBackgroundAnalysisStarted(false); |
137 } | 139 } |
138 | 140 |
139 public void test_resourceChanged_file_in_package() { | 141 public void test_resourceChanged_file_in_package() { |
140 MockFolder packages = projectContainer.getMockFolder(DartCore.PACKAGES_DIREC
TORY_NAME); | 142 MockFolder packages = projectContainer.getMockFolder(DartCore.PACKAGES_DIREC
TORY_NAME); |
141 MockFolder pkg1 = packages.getMockFolder("pkg1"); | 143 MockFolder pkg1 = packages.getMockFolder("pkg1"); |
142 MockFile file = pkg1.getMockFile("bar.dart"); | 144 MockFile file = pkg1.getMockFile("bar.dart"); |
143 MockDelta delta = new MockDelta(projectContainer); | 145 MockDelta delta = new MockDelta(projectContainer); |
144 delta.add(packages).add(pkg1).add(file); | 146 delta.add(packages).add(pkg1).add(file); |
145 MockContext context = (MockContext) project.getDefaultContext(); | |
146 processor.resourceChanged(new MockResourceChangeEvent(delta)); | 147 processor.resourceChanged(new MockResourceChangeEvent(delta)); |
147 | 148 |
| 149 ChangeSet expected = new ChangeSet(); |
| 150 expected.changedSource(new FileBasedSource(file.getLocation().toFile())); |
| 151 MockContext context = (MockContext) project.getDefaultContext(); |
| 152 context.assertChanged(expected); |
| 153 context.assertNoCalls(); |
148 manager.assertProjectRemoved(null); | 154 manager.assertProjectRemoved(null); |
149 MockContext newContext = (MockContext) project.getDefaultContext(); | 155 processor.assertBackgroundAnalysisStarted(true); |
150 assertNotSame(context, newContext); | |
151 | |
152 } | 156 } |
153 | 157 |
154 public void test_resourceChanged_project_removed() { | 158 public void test_resourceChanged_project_removed() { |
155 MockDelta delta = new MockDelta(projectContainer, IResourceDelta.REMOVED); | 159 MockDelta delta = new MockDelta(projectContainer, IResourceDelta.REMOVED); |
156 processor.resourceChanged(new MockResourceChangeEvent(delta)); | 160 processor.resourceChanged(new MockResourceChangeEvent(delta)); |
157 | 161 |
158 MockContext context = (MockContext) project.getDefaultContext(); | 162 MockContext context = (MockContext) project.getDefaultContext(); |
159 context.assertNoCalls(); | 163 context.assertNoCalls(); |
160 manager.assertProjectRemoved(project); | 164 manager.assertProjectRemoved(project); |
161 processor.assertBackgroundAnalysisStarted(false); | 165 processor.assertBackgroundAnalysisStarted(false); |
162 } | 166 } |
163 | 167 |
164 @Override | 168 @Override |
165 protected void setUp() throws Exception { | 169 protected void setUp() throws Exception { |
166 rootContainer = new MockWorkspaceRoot(); | 170 rootContainer = new MockWorkspaceRoot(); |
167 projectContainer = TestProjects.newPubProject3(rootContainer); | 171 projectContainer = TestProjects.newPubProject3(rootContainer); |
168 rootContainer.add(projectContainer); | 172 rootContainer.add(projectContainer); |
169 DartSdk sdk = DirectoryBasedDartSdk.getDefaultSdk(); | 173 DartSdk sdk = DirectoryBasedDartSdk.getDefaultSdk(); |
170 String sdkContextId = "sdk-id"; | 174 String sdkContextId = "sdk-id"; |
171 manager = new MockProjectManagerImpl(rootContainer, sdk, sdkContextId, new D
artIgnoreManager()); | 175 manager = new MockProjectManagerImpl(rootContainer, sdk, sdkContextId, new D
artIgnoreManager()); |
172 project = new MockProjectImpl(projectContainer, sdk, sdkContextId, manager.g
etIndex()); | 176 project = new MockProjectImpl(projectContainer, sdk, sdkContextId, manager.g
etIndex()); |
173 processor = new Target(manager); | 177 processor = new Target(manager); |
174 } | 178 } |
175 } | 179 } |
OLD | NEW |