blob: dcc8386fb56de6df2f55dbc3f941025c90658c4d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2007 Sybase, Inc. 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:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.facesconfig.ui.section;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigType;
import org.eclipse.jst.jsf.facesconfig.ui.page.ComponentsPage;
import org.eclipse.jst.jsf.facesconfig.ui.page.detail.FacesConfigDetailsPage;
import org.eclipse.jst.jsf.facesconfig.ui.test.FacesConfigEditorTest;
/**
* The test case for the master sections in ComponentsPage.
*
* @author sfshi
*
*/
public class ComponentsPageTest extends FacesConfigEditorTest {
ComponentsPage componentsPage;
FacesConfigMasterSection[] facesConfigMasterSections;
FacesConfigType facesConfig;
/**
* Open the faces config file, then switch to "Components" page.
*
* @see org.eclipse.jst.jsf.facesconfig.ui.test.FacesConfigEditorTest#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
editor.setActiveEditorPage(ComponentsPage.PAGE_ID);
componentsPage = (ComponentsPage) editor.getActiveEditor();
assertNotNull(componentsPage);
facesConfigMasterSections = componentsPage
.getFacesConfigMasterSections();
assertEquals(facesConfigMasterSections.length, 4);
facesConfig = editor.getFacesConfig();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.jsf.facesconfig.ui.test.FacesConfigEditorTest#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
}
public void testComponentMasterSection() {
/** Expand the "Component" secton, then click "Add" button */
ComponentMasterSection componentSection = (ComponentMasterSection) facesConfigMasterSections[0];
componentSection.getSection().setExpanded(true);
assertFalse(componentSection.getRemoveButton().isEnabled());
componentSection.addButtonSelected(null);
ISelection selection = componentSection.getSelection();
assertTrue(selection != null && !selection.isEmpty());
assertEquals(facesConfig.getComponent().size(), 1);
assertTrue(selection instanceof StructuredSelection);
FacesConfigDetailsPage detailPage = (FacesConfigDetailsPage)componentsPage
.getPage(componentsPage
.getPageKey(((StructuredSelection) selection)
.getFirstElement()));
assertNotNull(detailPage);
assertTrue(componentSection.getRemoveButton().isEnabled());
componentSection.removeButtonSelected(null);
componentSection.refresh();
selection = componentSection.getSelection();
assertTrue(selection == null || selection.isEmpty());
assertEquals(facesConfig.getComponent().size(), 0);
assertFalse(componentSection.getRemoveButton().isEnabled());
}
public void testConverterMasterSection() {
/** Expand the "Converter" secton, then click "Add" button */
ConverterMasterSection converterSection = (ConverterMasterSection) facesConfigMasterSections[1];
converterSection.getSection().setExpanded(true);
assertFalse(converterSection.getRemoveButton().isEnabled());
converterSection.addButtonSelected(null);
ISelection selection = converterSection.getSelection();
assertTrue(selection != null && !selection.isEmpty());
assertEquals(facesConfig.getConverter().size(), 1);
assertTrue(selection instanceof StructuredSelection);
FacesConfigDetailsPage detailPage = (FacesConfigDetailsPage)componentsPage
.getPage(componentsPage
.getPageKey(((StructuredSelection) selection)
.getFirstElement()));
assertNotNull(detailPage);
assertTrue(converterSection.getRemoveButton().isEnabled());
converterSection.removeButtonSelected(null);
converterSection.refresh();
selection = converterSection.getSelection();
assertTrue(selection == null || selection.isEmpty());
assertEquals(facesConfig.getConverter().size(), 0);
assertFalse(converterSection.getRemoveButton().isEnabled());
}
public void testRenderKitMasterSection() {
/** Expand the "RenderKit" secton, then click "Add" button */
RenderkitMasterSection renderkitSection = (RenderkitMasterSection) facesConfigMasterSections[2];
renderkitSection.getSection().setExpanded(true);
assertFalse(renderkitSection.getRemoveButton().isEnabled());
renderkitSection.addButtonSelected(null);
ISelection selection = renderkitSection.getSelection();
assertTrue(selection != null && !selection.isEmpty());
assertEquals(facesConfig.getRenderKit().size(), 1);
assertTrue(selection instanceof StructuredSelection);
FacesConfigDetailsPage detailPage = (FacesConfigDetailsPage)componentsPage
.getPage(componentsPage
.getPageKey(((StructuredSelection) selection)
.getFirstElement()));
assertNotNull(detailPage);
assertTrue(renderkitSection.getRemoveButton().isEnabled());
renderkitSection.removeButtonSelected(null);
renderkitSection.refresh();
selection = renderkitSection.getSelection();
assertTrue(selection == null || selection.isEmpty());
assertEquals(facesConfig.getRenderKit().size(), 0);
assertFalse(renderkitSection.getRemoveButton().isEnabled());
}
public void testValidatorMasterSection() {
/** Expand the "Validator" secton, then click "Add" button */
ValidatorMasterSection section = (ValidatorMasterSection) facesConfigMasterSections[3];
section.getSection().setExpanded(true);
assertFalse(section.getRemoveButton().isEnabled());
section.addButtonSelected(null);
ISelection selection = section.getSelection();
assertTrue(selection != null && !selection.isEmpty());
assertEquals(facesConfig.getValidator().size(), 1);
assertTrue(selection instanceof StructuredSelection);
FacesConfigDetailsPage detailPage = (FacesConfigDetailsPage)componentsPage
.getPage(componentsPage
.getPageKey(((StructuredSelection) selection)
.getFirstElement()));
assertNotNull(detailPage);
assertTrue(section.getRemoveButton().isEnabled());
section.removeButtonSelected(null);
section.refresh();
selection = section.getSelection();
assertTrue(selection == null || selection.isEmpty());
assertEquals(facesConfig.getValidator().size(), 0);
assertFalse(section.getRemoveButton().isEnabled());
}
}