/*
* Copyright (c) 2013, 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.tools.core.internal.analysis.model;
import com.google.dart.engine.sdk.DartSdk;
import com.google.dart.engine.source.FileBasedSource;
import com.google.dart.engine.source.PackageUriResolver;
import com.google.dart.engine.utilities.io.FileUtilities2;
import com.google.dart.tools.core.DartCore;
import com.google.dart.tools.core.pub.PubspecModel;
import static com.google.dart.tools.core.DartCore.PACKAGES_DIRECTORY_NAME;
import static com.google.dart.tools.core.pub.PubYamlUtilsTest.pubspecYamlString;
import static org.mockito.Mockito.mock;
import java.io.File;
public class PubFolderImplTest extends PubResourceMapImplTest {
private DartSdk expectedSdk;
public void test_getInvertedSourceContainer() throws Exception {
if (!setupSymlinks()) {
return;
}
File file1 = new File(pkg1CanonicalDir, "file1.dart");
File file2 = new File(pkg2CanonicalDir, "file2.dart");
FileBasedSource source1 = new FileBasedSource(file1);
FileBasedSource source2 = new FileBasedSource(file2);
PubFolderImpl pubFolder = newTarget();
InvertedSourceContainer container1 = pubFolder.getInvertedSourceContainer();
assertFalse(container1.contains(source1));
assertFalse(container1.contains(source2));
FileUtilities2.deleteSymLink(new File(packagesDir, "pkg2"));
InvertedSourceContainer container2 = pubFolder.getInvertedSourceContainer();
assertFalse(container2.contains(source1));
assertTrue(container2.contains(source2));
}
public void test_getPubspec() throws Exception {
PubFolderImpl pubFolder = newTarget();
PubspecModel pubspec = pubFolder.getPubspec();
assertNotNull(pubspec);
assertSame(pubspec, pubFolder.getPubspec());
assertEquals("myapp", pubspec.getName());
}
public void test_getSdk() throws Exception {
PubFolderImpl pubFolder = newTarget();
DartSdk sdk = pubFolder.getSdk();
assertNotNull(sdk);
assertSame(expectedSdk, sdk);
}
@Override
protected PubFolderImpl newTarget() {
pubContainer.getMockFile(DartCore.PUBSPEC_FILE_NAME).setContents(
pubspecYamlString.replace("name: web_components", "name: myapp"));
return new PubFolderImpl(pubContainer, context, contextId, expectedSdk, new PackageUriResolver(
new File(pubContainer.toFile(), PACKAGES_DIRECTORY_NAME)));
}
@Override
protected void setUp() throws Exception {
super.setUp();
expectedSdk = mock(DartSdk.class);
}
}