blob: 20e0555999ef8e880b432af9287a60d7ccc620b4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2010 Oracle Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.designtime.tests.views.model.jsp;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
import org.eclipse.jst.common.project.facet.core.JavaFacet;
import org.eclipse.jst.jsf.core.JSFVersion;
import org.eclipse.jst.jsf.core.internal.tld.ITLDConstants;
import org.eclipse.jst.jsf.core.tests.util.JSFCoreUtilHelper;
import org.eclipse.jst.jsf.core.tests.util.JSFFacetedTestEnvironment;
import org.eclipse.jst.jsf.test.util.JSFTestUtil;
import org.eclipse.jst.jsf.test.util.WebProjectTestEnvironment;
import org.eclipse.jst.jsp.core.taglib.ITaglibRecord;
import org.eclipse.jst.jsp.core.taglib.TaglibIndex;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
/**
* Does the basic setup for JSP tests.
*
* @author cbateman
*
*/
abstract class BaseTestClass extends TestCase
{
protected WebProjectTestEnvironment _webProjectTestEnv;
protected Map<String, ITaglibRecord> _tagRecords;
protected JSFVersion _jsfVersion;
private final String ENV_JSF_VERSION = "jsfRuntimeVersion";
@Override
protected void setUp() throws Exception
{
super.setUp();
JSFTestUtil.setValidationEnabled(false);
final String version = System.getProperty(ENV_JSF_VERSION);
if (version == null)
{
fail("No version specified in " + ENV_JSF_VERSION);
}
_jsfVersion = JSFVersion.valueOfString(version);
// only 1.1 and 1.2 are supported
assertTrue(_jsfVersion == JSFVersion.V1_1
|| _jsfVersion == JSFVersion.V1_2);
assertNotNull(JSFCoreUtilHelper.getJSFRuntimeJarsDirectory(_jsfVersion));
final String jst_web_version = (_jsfVersion == JSFVersion.V1_1) ? "2.4"
: ((_jsfVersion == JSFVersion.V1_2) ? "2.5" : null);
assertNotNull(jst_web_version);
final String jst_jsf_version = _jsfVersion.toString();
_webProjectTestEnv = new WebProjectTestEnvironment(getClass().getName()
+ "_" + getName(), JavaFacet.VERSION_1_5, ProjectFacetsManager
.getProjectFacet("jst.web").getVersion(jst_web_version));
_webProjectTestEnv.createProject(false);
assertNotNull(_webProjectTestEnv);
assertNotNull(_webProjectTestEnv.getTestProject());
assertTrue(_webProjectTestEnv.getTestProject().isAccessible());
final JSFFacetedTestEnvironment jsfFacetedTestEnv = new JSFFacetedTestEnvironment(
_webProjectTestEnv);
jsfFacetedTestEnv.initialize(jst_jsf_version);
assertTrue(JSFCoreUtilHelper.addJSFRuntimeJarsToClasspath(_jsfVersion,
jsfFacetedTestEnv));
final ITaglibRecord[] tldrecs = TaglibIndex
.getAvailableTaglibRecords(_webProjectTestEnv.getTestProject()
.getFullPath());
_tagRecords = new HashMap<String, ITaglibRecord>();
for (final ITaglibRecord taglibRecord : tldrecs)
{
_tagRecords
.put(taglibRecord.getDescriptor().getURI(), taglibRecord);
}
assertNotNull(_tagRecords.get(ITLDConstants.URI_JSF_CORE));
assertNotNull(_tagRecords.get(ITLDConstants.URI_JSF_HTML));
}
}