/******************************************************************************* * Copyright (c) 2007 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.vpe.jsf.test.jbide; import java.util.HashSet; import java.util.Set; import org.eclipse.core.resources.IFile; import org.eclipse.swt.custom.StyledText; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.part.FileEditorInput; import org.eclipse.wst.sse.ui.internal.StructuredTextViewer; import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils; import org.jboss.tools.jsf.vpe.jsf.test.JsfAllTests; import org.jboss.tools.jst.web.ui.internal.editor.jspeditor.JSPMultiPageEditor; import org.jboss.tools.vpe.base.test.TestUtil; import org.jboss.tools.vpe.base.test.VpeTest; import org.jboss.tools.vpe.editor.VpeController; import org.jboss.tools.vpe.editor.template.VpeTemplate; import org.jboss.tools.vpe.editor.template.VpeTemplateManager; import org.junit.Test; import org.w3c.dom.Node; import static org.junit.Assert.*; /** * @author mareshkau * */ public class JBIDE1494Test extends VpeTest{ private static final String TEST_PAGE_NAME = "JBIDE/1494/JBIDE-1494.xhtml"; //$NON-NLS-1$ public JBIDE1494Test() { } @Test public void testJBIDE1494() throws Throwable { // wait TestUtil.waitForJobs(); // set exception setException(null); // Tests CA // get test page path IFile file = (IFile) TestUtil.getComponentPath(TEST_PAGE_NAME, JsfAllTests.IMPORT_PROJECT_NAME); assertNotNull("Could not open specified file " + TEST_PAGE_NAME, file); //$NON-NLS-1$ IEditorInput input = new FileEditorInput(file); assertNotNull("Editor input is null", input); //$NON-NLS-1$ // open and get editor JSPMultiPageEditor part = openEditor(input); StructuredTextViewer textViewer = part.getSourceEditor().getTextViewer(); StyledText styledText = textViewer.getTextWidget(); int offset = TestUtil.getLinePositionOffcet(textViewer, 12, 9); styledText.setCaretOffset(offset); Node h_outputText = (Node) ContentAssistUtils.getNodeAt(textViewer, offset); assertNotNull(h_outputText); VpeController vpeController = TestUtil.getVpeController(part); VpeTemplateManager templateManager= vpeController.getPageContext().getVisualBuilder().getTemplateManager(); assertNotNull(templateManager); Set<?> dependencySet = new HashSet(); VpeTemplate h_output_template = templateManager.getTemplate(vpeController.getPageContext(),h_outputText, dependencySet); assertNotNull(h_output_template.getTextFormattingData()); //text formating for h:output assertEquals(8, h_output_template.getTextFormattingData().getAllFormatData().length); offset = TestUtil.getLinePositionOffcet(textViewer, 13, 9); Node h_dataTable = (Node) ContentAssistUtils.getNodeAt(textViewer, offset); assertNotNull(h_dataTable); dependencySet=new HashSet(); VpeTemplate h_data_Table = templateManager.getTemplate(vpeController.getPageContext(),h_dataTable , dependencySet); assertNotNull(h_data_Table.getTextFormattingData()); assertEquals(9, h_data_Table.getTextFormattingData().getAllFormatData().length); offset = TestUtil.getLinePositionOffcet(textViewer, 21, 4); Node span =(Node) ContentAssistUtils.getNodeAt(textViewer, offset); dependencySet=new HashSet(); VpeTemplate spanTemplate = templateManager.getTemplate(vpeController.getPageContext(),span, dependencySet); assertNotNull(spanTemplate); assertEquals(11,spanTemplate.getTextFormattingData().getAllFormatData().length); } }