blob: dc966b77da0d77ed6665f3dbd5609d469efca6d4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2006 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.facesconfig.tests.read;
import java.util.List;
import org.eclipse.jst.jsf.facesconfig.emf.ComponentExtensionType;
import org.eclipse.jst.jsf.facesconfig.emf.ComponentType;
import org.eclipse.jst.jsf.facesconfig.emf.DynamicAttribute;
import org.eclipse.jst.jsf.facesconfig.emf.DynamicElement;
import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
import org.eclipse.jst.jsf.facesconfig.tests.util.FacesConfigModelUtil;
import org.eclipse.jst.jsf.facesconfig.util.FacesConfigArtifactEdit;
/**
* Read test for extension data
*
* @author cbateman
*
*/
public class ReadExtensionDataTestCase extends BaseReadTestCase
{
public ReadExtensionDataTestCase(String name) {
super(name);
}
/*
* Check for hte Component-Extension inside Component
*/
public void testSingleElementRoot() {
FacesConfigArtifactEdit edit = null;
try {
edit = FacesConfigArtifactEdit
.getFacesConfigArtifactEditForRead(project,
"WEB-INF/faces-config-ext-data1.xml");
assertNotNull(edit.getFacesConfig());
ComponentType component1 = getComponent1(edit.getFacesConfig());
assertNotNull(component1);
ComponentExtensionType extType =
(ComponentExtensionType) FacesConfigModelUtil
.findEObjectElementById(component1.getComponentExtension()
, "singleRootComponentExt");
assertNotNull(extType);
List elements = extType.getChildNodes();
assertEquals(1, elements.size());
DynamicElement singleRoot = (DynamicElement) elements.get(0);
assertEquals("any-data", singleRoot.getName());
assertEquals(1, singleRoot.getAttributes().size());
DynamicAttribute attribute =
(DynamicAttribute) singleRoot.getAttributes().get(0);
assertEquals("attribute", attribute.getName());
assertEquals("any-data-attribute", attribute.getValue());
assertEquals(2, singleRoot.getChildNodes().size());
DynamicElement firstChild =
(DynamicElement) singleRoot.getChildNodes().get(0);
assertEquals("first-child", firstChild.getName());
assertEquals("someData", firstChild.getTextContent());
DynamicElement secondChild =
(DynamicElement) singleRoot.getChildNodes().get(1);
assertEquals("second-child", secondChild.getName());
assertEquals("second Child's data", secondChild.getTextContent());
} finally {
if (edit != null) {
edit.dispose();
}
}
}
private ComponentType getComponent1(FacesConfigType facesConfig)
{
return (ComponentType) FacesConfigModelUtil
.findEObjectElementById(facesConfig.getComponent(), "component1");
}
}