001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.modules.apisupport.project.queries;
043:
044: import java.net.URI;
045: import java.util.Arrays;
046: import java.util.Collections;
047: import java.util.Properties;
048: import org.netbeans.api.java.project.JavaProjectConstants;
049: import org.netbeans.api.project.ProjectManager;
050: import org.netbeans.api.project.ant.AntArtifact;
051: import org.netbeans.api.project.ant.AntArtifactQuery;
052: import org.netbeans.modules.apisupport.project.NbModuleProject;
053: import org.netbeans.modules.apisupport.project.TestBase;
054: import org.openide.filesystems.FileObject;
055:
056: /**
057: * Test AntArtifactProviderImpl.
058: * @author Jaroslav Tulach, Jesse Glick
059: */
060: public class AntArtifactProviderImplTest extends TestBase {
061:
062: public AntArtifactProviderImplTest(String name) {
063: super (name);
064: }
065:
066: private NbModuleProject javaProjectProject;
067: private NbModuleProject loadersProject;
068:
069: protected void setUp() throws Exception {
070: super .setUp();
071: FileObject dir = nbRoot().getFileObject("java.project");
072: assertNotNull("have java.project checked out", dir);
073: javaProjectProject = (NbModuleProject) ProjectManager
074: .getDefault().findProject(dir);
075: dir = nbRoot().getFileObject("openide.loaders");
076: assertNotNull("have openide.loaders checked out", dir);
077: loadersProject = (NbModuleProject) ProjectManager.getDefault()
078: .findProject(dir);
079: }
080:
081: public void testJARFileIsProduced() throws Exception {
082: AntArtifact[] arts = AntArtifactQuery.findArtifactsByType(
083: loadersProject, JavaProjectConstants.ARTIFACT_TYPE_JAR);
084: assertEquals("one artifact produced", 1, arts.length);
085: assertEquals("correct project", loadersProject, arts[0]
086: .getProject());
087: assertEquals("correct type",
088: JavaProjectConstants.ARTIFACT_TYPE_JAR, arts[0]
089: .getType());
090: assertEquals("correct ID", "module", arts[0].getID());
091: assertEquals("correct location", Collections.singletonList(URI
092: .create("../nbbuild/netbeans/"
093: + TestBase.CLUSTER_PLATFORM
094: + "/modules/org-openide-loaders.jar")), Arrays
095: .asList(arts[0].getArtifactLocations()));
096: assertEquals("correct script", nbRoot().getFileObject(
097: "openide.loaders/build.xml"), arts[0].getScriptFile());
098: assertEquals("correct build target", "netbeans", arts[0]
099: .getTargetName());
100: assertEquals("correct clean target", "clean", arts[0]
101: .getCleanTargetName());
102: assertEquals("no properties", new Properties(), arts[0]
103: .getProperties());
104: arts = AntArtifactQuery.findArtifactsByType(javaProjectProject,
105: JavaProjectConstants.ARTIFACT_TYPE_JAR);
106: assertEquals("one artifact produced", 1, arts.length);
107: assertEquals(
108: "correct location",
109: Collections
110: .singletonList(URI
111: .create("../nbbuild/netbeans/"
112: + TestBase.CLUSTER_JAVA
113: + "/modules/org-netbeans-modules-java-project.jar")),
114: Arrays.asList(arts[0].getArtifactLocations()));
115: }
116:
117: }
|