/*******************************************************************************
* Copyright (c) 2011, 2014 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are 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:
* EclipseSource - initial API and implementation
******************************************************************************/
package org.eclipse.rap.rwt.internal.theme;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class CssShadow_Test {
@Test( expected = IllegalArgumentException.class )
public void testCreate_negativeBlur() {
CssShadow.create( false, 10, 10, -10, 0, CssColor.BLACK );
}
@Test( expected = IllegalArgumentException.class )
public void testCreate_spreadNotZero() {
CssShadow.create( false, 10, 10, 0, 10, CssColor.BLACK );
}
@Test( expected = NullPointerException.class )
public void testCreate_nullColor() {
CssShadow.create( false, 10, 10, 0, 0, null );
}
@Test
public void testCreate_WithoutOpacity() {
CssShadow shadow = CssShadow.create( false, 10, 10, 0, 0, CssColor.BLACK );
assertNotNull( shadow );
assertFalse( shadow.inset );
assertEquals( 10, shadow.offsetX );
assertEquals( 10, shadow.offsetY );
assertEquals( 0, shadow.blur );
assertEquals( 0, shadow.spread );
assertEquals( CssColor.BLACK.toDefaultString(), shadow.color );
assertEquals( 1f, shadow.opacity, 0 );
}
@Test
public void testCreate_WithOpacity() {
CssColor color = CssColor.valueOf( "0, 0, 0, 0.5" );
CssShadow shadow = CssShadow.create( false, 10, 10, 0, 0, color );
assertNotNull( shadow );
assertFalse( shadow.inset );
assertEquals( 10, shadow.offsetX );
assertEquals( 10, shadow.offsetY );
assertEquals( 0, shadow.blur );
assertEquals( 0, shadow.spread );
assertEquals( CssColor.BLACK.toDefaultString(), shadow.color );
assertEquals( 0.5, shadow.opacity, 0 );
}
@Test
public void testNoneShadow() {
CssShadow shadow = CssShadow.NONE;
assertFalse( shadow.inset );
assertEquals( 0, shadow.offsetX );
assertEquals( 0, shadow.offsetY );
assertEquals( 0, shadow.blur );
assertEquals( 0, shadow.spread );
assertNull( shadow.color );
assertEquals( 0, shadow.opacity, 0 );
}
@Test
public void testToString() {
CssShadow shadow = CssShadow.create( false, 10, 10, 0, 0, CssColor.BLACK );
String expected = "CssShadow{ false, 10, 10, 0, 0, #000000, 1.0 }";
assertEquals( expected, shadow.toString() );
}
@Test
public void testToDefaultString() {
CssColor color = CssColor.valueOf( "0, 0, 0, 0.5" );
CssShadow shadow = CssShadow.create( false, 10, 10, 0, 0, color );
String expected = "10px 10px 0px 0px rgba( 0, 0, 0, 0.5 )";
assertEquals( expected, shadow.toDefaultString() );
}
@Test
public void testToDefaultString_NoneShadow() {
CssShadow shadow = CssShadow.NONE;
String expected = "none";
assertEquals( expected, shadow.toDefaultString() );
}
@Test
public void testEquals() {
CssShadow shadow1 = CssShadow.create( false, 10, 10, 0, 0, CssColor.BLACK );
CssShadow shadow2 = CssShadow.create( false, 10, 10, 0, 0, CssColor.BLACK );
assertTrue( shadow1.equals( shadow2 ) );
}
}