package org.squirrelframework.foundation.fsm.cssparser; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import java.util.List; public class CssParserTest { private SimpleCssParser parser; @Before public void setup() { parser = SimpleCssParser.newParser(); } @Test public void testMultipleProperties() { List<CssRule> rules = parser.parse("product-row { background: #ABC123; border: " + "1px black solid; border: none;background: url(http://www.domain.com/image.jpg);}"); CssRule rule = rules.get(0); Assert.assertEquals("product-row", rule.getSelector()); Assert.assertEquals("background", rule.getProperties().get(0).getName()); Assert.assertEquals("#ABC123", rule.getProperties().get(0).getValue()); Assert.assertEquals("border", rule.getProperties().get(1).getName()); Assert.assertEquals("1px black solid", rule.getProperties().get(1).getValue()); Assert.assertEquals("border", rule.getProperties().get(2).getName()); Assert.assertEquals("none", rule.getProperties().get(2).getValue()); Assert.assertEquals("background", rule.getProperties().get(3).getName()); Assert.assertEquals("url(http://www.domain.com/image.jpg)", rule.getProperties().get(3).getValue()); } @Test public void testMultipleRulesAndComments() throws Exception { List<CssRule> rules = parser.parse("alpha { width: 100px/*comment1*/; /*comment2*/text-decoration: " + "/*comment3*/ underlined; } epsilon/*comment4*/, zeta{ height: 34px; } "); Assert.assertEquals(2, rules.size()); CssRule rule = rules.get(0); Assert.assertEquals("alpha", rule.getSelector()); Assert.assertEquals("width", rule.getProperties().get(0).getName()); Assert.assertEquals("100px", rule.getProperties().get(0).getValue()); Assert.assertEquals("text-decoration", rule.getProperties().get(1).getName()); Assert.assertEquals("underlined", rule.getProperties().get(1).getValue()); rule = rules.get(1); Assert.assertEquals("epsilon, zeta", rule.getSelector()); Assert.assertEquals("height", rule.getProperties().get(0).getName()); Assert.assertEquals("34px", rule.getProperties().get(0).getValue()); } }