Package org.richfaces.renderkit.html.images

Source Code of org.richfaces.renderkit.html.images.EditorIconTest

/**
* License Agreement.
*
* Rich Faces - Natural Ajax for Java Server Faces (JSF)
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
*/
package org.richfaces.renderkit.html.images;

import java.awt.Color;
import java.awt.image.BufferedImage;

import javax.faces.context.FacesContext;

import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import org.ajax4jsf.util.HtmlColor;
import org.richfaces.renderkit.html.images.EditorAdvancedThemeIcons;
import org.richfaces.renderkit.html.images.EditorIcons;
import org.richfaces.renderkit.html.images.EditorSimpleThemeIcons;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;

/**
* Editor icon images resource classes test
*
* @author Alexandr Levkovsky
*
*/
public class EditorIconTest extends AbstractAjax4JsfTestCase{

  public EditorIconTest(String name) {
    super(name);
  }
 
  /**
   * Method to test resource classes saving of parameters functionality
   */
  public void testSaveResources(){
   
    EditorAdvancedThemeIcons advIcon = new EditorAdvancedThemeIcons();
    EditorSimpleThemeIcons simpleIcon = new EditorSimpleThemeIcons();
 
    Skin skin = SkinFactory.getInstance().getSkin(facesContext);
    Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(facesContext);
   
    String additionalBackgroundColor = getSkinParameter(skin, defaultSkin, facesContext, EditorIcons.ADDITIONAL_BACKGROUND_COLOR);
    String selectControlColor = getSkinParameter(skin, defaultSkin, facesContext,
        EditorIcons.SELECT_CONTROL_COLOR);
    String panelBorderColor = getSkinParameter(skin, defaultSkin, facesContext,  EditorIcons.PANEL_BORDER_COLOR);
    String generalTextColor = getSkinParameter(skin, defaultSkin, facesContext,  EditorIcons.GENERAL_TEXT_COLOR);
   
    assertNotNull(additionalBackgroundColor);
    assertNotNull(selectControlColor);
    assertNotNull(panelBorderColor);
    assertNotNull(generalTextColor);
   
    Color color1 = HtmlColor.decode(additionalBackgroundColor);
    Color color2 = HtmlColor.decode(selectControlColor);
    Color color3 = HtmlColor.decode(panelBorderColor);
    Color color4 = HtmlColor.decode(generalTextColor);
       
    byte [] data = (byte []) advIcon.getDataToStore(facesContext, null);
   
    assertNotNull(data)
    Object [] results = (Object [])advIcon.deserializeData(data);   
    assertNotNull(results);
   
    assertEquals(color1, results[0]);
    assertEquals(color2, results[1]);
    assertEquals(color3, results[2]);
    assertEquals(color4, results[3]);
   
    data = (byte []) simpleIcon.getDataToStore(facesContext, null);
   
    assertNotNull(data)
    results = (Object [])simpleIcon.deserializeData(data);   
    assertNotNull(results);
   
    assertEquals(color1, results[0]);
    assertEquals(color2, results[1]);
    assertEquals(color3, results[2]);
    assertEquals(color4, results[3]);
   
    BufferedImage image = advIcon.paintFirstTriangleBlock(results, true);
    assertNotNull(image);
    image = advIcon.paintMainBlock(results, true, true);
    assertNotNull(image);
    image = advIcon.paintSecondTriangleBlock(results, true);
    assertNotNull(image);
    image = advIcon.paintSeparatorBlock(results);
    assertNotNull(image);
   
  }
 
  /**
   * Method to get skin parameter value by parameter name
   *
   * @param skin - current component skin
   * @param defaultSkin - default richfaces skin
   * @param context - faces context instance
   * @param parameterName - name of the skin parameter
   * @return string value of parameter
   */
  private String getSkinParameter(Skin skin, Skin defaultSkin, FacesContext context, String parameterName) { 
    String value = (String) skin.getParameter(context, parameterName);
    if (null == value || "".equals(value)) {
      value = (String) defaultSkin.getParameter(context, parameterName);
    }
    return value;

  }
}
TOP

Related Classes of org.richfaces.renderkit.html.images.EditorIconTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.