From: Wiebe R. <wi...@do...> - 2013-05-13 14:01:12
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Good day. First, thanks for the cssparser project. It is a big help. At the moment I am encountering two parsing bugs which are stopping me in my current project. One day I'll get my head around the javacc parser format; right now I cannot. I did however created a testcase to show the problem I am seeing. Is there any worksround for this bug ? Is there any way I can patch the javacc files to handle these situations ? - -----start testcase----- package com.docner.editgui; import com.steadystate.css.dom.CSSStyleRuleImpl; import com.steadystate.css.parser.CSSOMParser; import com.steadystate.css.parser.SACParserCSS3; import java.io.IOException; import java.io.StringReader; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; import org.w3c.css.sac.InputSource; import org.w3c.dom.css.CSSRule; import org.w3c.dom.css.CSSStyleDeclaration; import org.w3c.dom.css.CSSStyleSheet; /** * * @author wiebe */ public class CssParserBugs { private CSSOMParser parser; @Before public void setUp() { parser = new CSSOMParser(new SACParserCSS3()); } @Test public void testThatCssParserCanHandleTransformRotate() throws IOException { String stylesheet = ".flipped {\n" + " transform: rotateY(180deg);\n" + "}\n" + ""; CSSStyleDeclaration style = readStyle(stylesheet); assertEquals("rotateY(180deg)", style.getPropertyCSSValue("transform")); } @Test public void testThatCssParserCanHandleRGBA() throws IOException { String stylesheet = "#footer {\n" + " width:900px;\n" + " height:52px;\n" + " left: 32px;\n" + " top: 530px;\n" + " position: absolute;\n" + " background-color:rgba(0,0,0,0.2); \n" + "}\n" + ""; CSSStyleDeclaration style = readStyle(stylesheet); assertEquals("rgba(0,0,0,0.2)", style.getPropertyCSSValue("background-color")); } protected CSSStyleDeclaration readStyle(String stylesheet) throws IOException { StringReader reader = new StringReader(stylesheet); InputSource source = new InputSource(reader); CSSStyleSheet sheet = parser.parseStyleSheet(source, null, null); CSSRule rule = sheet.getCssRules().item(0); CSSStyleRuleImpl styleRule = (CSSStyleRuleImpl) rule; CSSStyleDeclaration style = styleRule.getStyle(); return style; } } - -----finish testcase----- -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.18 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJRkOvcAAoJEGfAtLaF4C04n/wP/0sZkZLFgBsqHKlT9rAl38Xb mRQ8qPuBzYJ3UNQU4gH4qjvbsxTWJUl5uL2EgAnrGtfxrILE+UZjyzkzSA3c8SVm lNCpex1G21VbWKy1dSPA/eGQ4p389rUfo3djSkEJplHe1SVjT+1cN6qCDOdG4qLJ 8aoJRdLGG4Y8H6XWSLLKnMnCvfzXOr3+awJXPbV6KmmfblwZXrQ8jsfdwTZgBp0a gX89IROX6tUBmu73rL/symXsO8bKPIHl1tgY2ibhc10XZ02h7u6p7SDUfpUViTiq 9/iewdPJWQ0I4nOeqdCQI4eenggYRgJUcvgy3ZUfXhIwNKJGwqqGrOWw8jseikyd XI4xp43rheGK7YhSEJLldi4JtMIUNEoQHZQn7VaX3/uKCMe4GOnZKzuzTHi/S0d1 w2BpolN6NR3XWqjPIePia1D+zMTkGO9qsBwl6FXP6O0vtfQSiL/M8XbXjBw3pYqp S5jgk46PvBXKwJG6AxSwX1o1//nSICs8UXjHpO07WjTLtpqUTpY8kQOeqnEzuJkX h9X+nMiJqs45MKvVJHORBric8avPiHvc0yDgi2nMKUSebryv8KZqqrvzqK3BW1ib RFdohqUbhR5XG0hfumotYxus8DNyQbKUGw8HQijR1iuQBJOjzywWB9vzLV7CenT7 WWdgYVLpr5qomoZ1gl/U =d/gB -----END PGP SIGNATURE----- |