/* * Copyright 2011 Google Inc. * * 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 com.google.common.css.compiler.ast; import com.google.common.collect.ImmutableSet; import com.google.common.css.Vendor; import junit.framework.TestCase; /** * Unit test for {@link Property}. For legacy reasons, much of the behavior of * {@link Property} is verified by {@link CssPropertyNodeTest} rather than this * test. * * @author bolinfest@google.com (Michael Bolin) */ public class PropertyTest extends TestCase { public void testBorderRadius() { Property borderRadius = Property.byName("border-radius"); assertTrue(borderRadius.isRecognizedProperty()); assertEquals(null, borderRadius.getVendor()); assertEquals("border-radius", borderRadius.getPartition()); assertEquals(ImmutableSet.of("border-radius"), borderRadius.getShorthands()); Property borderTopLeftRadius = Property.byName("border-top-left-radius"); assertTrue(borderTopLeftRadius.isRecognizedProperty()); assertEquals(null, borderRadius.getVendor()); assertEquals("border-radius", borderRadius.getPartition()); assertEquals(ImmutableSet.of("border-radius"), borderRadius.getShorthands()); } public void testWebkitBorderRadius() { Property webkitBorderRadius = Property.byName("-webkit-border-radius"); assertTrue(webkitBorderRadius.isRecognizedProperty()); assertEquals(Vendor.WEBKIT, webkitBorderRadius.getVendor()); assertEquals("-webkit-border-radius", webkitBorderRadius.getPartition()); assertEquals(ImmutableSet.of("-webkit-border-radius"), webkitBorderRadius.getShorthands()); Property webkitBorderBottomRightRadius = Property.byName( "-webkit-border-bottom-right-radius"); assertTrue(webkitBorderBottomRightRadius.isRecognizedProperty()); assertEquals(Vendor.WEBKIT, webkitBorderBottomRightRadius.getVendor()); assertEquals("-webkit-border-radius", webkitBorderBottomRightRadius .getPartition()); assertEquals(ImmutableSet.of("-webkit-border-radius"), webkitBorderBottomRightRadius.getShorthands()); } public void testMozBorderRadius() { Property mozBorderRadius = Property.byName("-moz-border-radius"); assertTrue(mozBorderRadius.isRecognizedProperty()); assertEquals(Vendor.MOZILLA, mozBorderRadius.getVendor()); assertEquals("-moz-border-radius", mozBorderRadius.getPartition()); assertEquals(ImmutableSet.of("-moz-border-radius"), mozBorderRadius.getShorthands()); Property mozBorderRadiusTopLeft = Property.byName( "-moz-border-radius-topright"); assertTrue(mozBorderRadiusTopLeft.isRecognizedProperty()); assertEquals(Vendor.MOZILLA, mozBorderRadiusTopLeft.getVendor()); assertEquals("-moz-border-radius", mozBorderRadiusTopLeft.getPartition()); assertEquals(ImmutableSet.of("-moz-border-radius"), mozBorderRadiusTopLeft.getShorthands()); } public void testCustomBorderProperty() { Property borderHeight = Property.byName("border-height"); assertFalse(borderHeight.isRecognizedProperty()); assertEquals(ImmutableSet.of(), borderHeight.getShorthands()); Property borderLeftHeight = Property.byName("border-left-height"); assertFalse(borderLeftHeight.isRecognizedProperty()); assertEquals(ImmutableSet.of(), borderHeight.getShorthands()); Property borderRightHeight = Property.byName("border-right-height"); assertFalse(borderRightHeight.isRecognizedProperty()); assertEquals(ImmutableSet.of(), borderHeight.getShorthands()); Property borderTopHeight = Property.byName("border-top-height"); assertFalse(borderTopHeight.isRecognizedProperty()); assertEquals(ImmutableSet.of(), borderHeight.getShorthands()); Property borderBottomHeight = Property.byName("border-bottom-height"); assertFalse(borderBottomHeight.isRecognizedProperty()); assertEquals(ImmutableSet.of(), borderHeight.getShorthands()); } }