/*
* Copyright IBM Corp. 2011
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package xsp.extlib.designer.test.visualizations.extensionlibrary;
import xsp.extlib.designer.test.visualizations.AbstractVisualizationTest;
import com.ibm.xsp.extlib.designer.tooling.visualizations.extensionlibrary.TagCloudVisualizer;
public class TagCloudVisualizerTest extends AbstractVisualizationTest {
/*
* (non-Javadoc)
* @see xsp.extlib.designer.test.visualizations.AbstractVisualizationTest#getTagName()
*/
@Override
public String getTagName() {
return "tagCloud";
}
/*
* (non-Javadoc)
* @see xsp.extlib.designer.test.visualizations.AbstractVisualizationTest#getTagName()
*/
@Override
public String getNamespaceURI() {
return EXT_LIB_NAMESPACE_URI;
}
/*
* (non-Javadoc)
* @see xsp.extlib.designer.test.visualizations.AbstractVisualizationTest#setUp()
*/
@Override
protected void setUp() throws Exception {
super.setUp();
_visualizationFactory = new TagCloudVisualizer();
}
/*
* (non-Javadoc)
* @see xsp.extlib.designer.test.visualizations.AbstractVisualizationTest#isRenderMarkupStatic()
*/
@Override
public boolean isRenderMarkupStatic(){
return true;
}
/*
* (non-Javadoc)
* @see xsp.extlib.designer.test.visualizations.AbstractVisualizationTest#getExectedXSPMarkup()
*/
@Override
public String getExpectedXSPMarkup() {
StringBuilder strBuilder = new StringBuilder();
strBuilder.append("<xp:panel style=\"height:150.0px;width:120.0px;border-width:1px;border-style:solid\">");
strBuilder.append("<xp:image url=\"/extlib/designer/markup/extensionlibrary/Twisty.png\">");
strBuilder.append("</xp:image>");
strBuilder.append("<xp:span style=\"font-weight:bold\">");
strBuilder.append("Top 10 Tags");
strBuilder.append("</xp:span>");
strBuilder.append("<xp:image style=\"width:115px;margin-top:5px;margin-bottom:5px\" url=\"/extlib/designer/markup/extensionlibrary/TagCloudSlider.png\">");
strBuilder.append("</xp:image>");
strBuilder.append("<%");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("var labelArray = [\"Agenda\",\"Cloud\",\"Communities\",\"Connections\",\"Lotusphere\",\"Notes\",\"Schedule\",\"Sessions\",\"iNotes\",\"Lotus\"];");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("function getRandomStyle(){");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("var rand = Math.floor(Math.random()*4);");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("if(rand==0){");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("return(\"font-size:9pt;color:rgb(150,209,241);font-weight:bold\");");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("}");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("if(rand==1){");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("return(\"font-size:9pt;color:rgb(14,78,112);font-weight:bold\");");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("}");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("if(rand==2){");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("return(\"font-size:10pt;color:rgb(14,78,112);font-weight:bold\");");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("}");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("if(rand==3){");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("return(\"font-size:12pt;color:rgb(14,78,112);font-weight:bold\");");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("}");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("}");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("for (var x=0;x<labelArray.length;x++){%>");
strBuilder.append("<xp:label><xp:this.style><%=getRandomStyle()%></xp:this.style><xp:this.value><%=labelArray[x]%></xp:this.value>");
strBuilder.append("</xp:label>");
strBuilder.append("<%}%>");
strBuilder.append(LINE_DELIMITER);
strBuilder.append("</xp:panel>");
strBuilder.append(LINE_DELIMITER);
return strBuilder.toString();
}
/*
* (non-Javadoc)
* @see xsp.extlib.designer.test.visualizations.AbstractVisualizationTest#getExpectedFullXSPMarkup()
*/
@Override
public String getExpectedFullXSPMarkup() {
StringBuilder strBuilder = new StringBuilder();
strBuilder.append(getDefaultXPageHeader());
strBuilder.append(getExpectedXSPMarkup());
strBuilder.append(getDefaultXPageFooter());
return strBuilder.toString();
}
@Override
public String getExpectedProcessedFullXSPMarkup() {
// TODO Auto-generated method stub
return null;
}
@Override
public void testGetProcessedFullXSPMarkupForControl() throws Exception {
//do nothing. The tagCloud visualization is dynamic, so cannot be static in a static way like this.
}
}