public CssValue Parse(string cssValue) { var parser = new CssValueParser(); parser.SetContext(cssValue); var val = parser.DoParse(); return(val); }
public void Addition() { var parser = new CssValueParser(); parser.SetContext("30%+10%"); var arg = parser.DoParse(); Assert.IsTrue(parser.End); Assert.AreEqual(0, parser.Errors.Count); Assert.IsTrue(arg.IsValid); Assert.IsInstanceOfType(arg, typeof(CssArithmeticOperation)); Assert.AreEqual("30%+10%", arg.ToString()); parser.SetContext("(30%+10%)"); arg = parser.DoParse(); Assert.IsTrue(parser.End); Assert.AreEqual(0, parser.Errors.Count); Assert.IsTrue(arg.IsValid); Assert.IsInstanceOfType(arg, typeof(CssArithmeticOperation)); Assert.AreEqual("(30%+10%)", arg.ToString()); }
public void SubArg() { var parser = new CssValueParser(); parser.SetContext("fn(#fff)"); var arg = parser.DoParse(); Assert.IsTrue(parser.End); Assert.AreEqual(0, parser.Errors.Count); Assert.IsTrue(arg.IsValid); Assert.IsInstanceOfType(arg, typeof(CssSimpleValue)); Assert.AreEqual("fn(#fff)", arg.ToString()); }
public void Priority() { var parser = new CssValueParser(); parser.SetContext("30%/fn(2,3)+10%*1.4+2*3"); var arg = parser.DoParse(); Assert.IsTrue(parser.End); Assert.AreEqual(0, parser.Errors.Count); Assert.IsTrue(arg.IsValid); Assert.IsInstanceOfType(arg, typeof(CssArithmeticOperation)); Assert.AreEqual("30%/fn(2,3)+10%*1.4+2*3", arg.ToString()); Assert.AreEqual("30%/fn(2,3)", ((CssArithmeticOperation)arg).Left.ToString()); Assert.AreEqual("10%*1.4+2*3", ((CssArithmeticOperation)arg).Right.ToString()); var o = ((CssArithmeticOperation)arg).Right; Assert.IsInstanceOfType(o, typeof(CssArithmeticOperation)); Assert.AreEqual("10%*1.4", ((CssArithmeticOperation)o).Left.ToString()); Assert.AreEqual("2*3", ((CssArithmeticOperation)o).Right.ToString()); }