예제 #1
0
        public void EscapeDifferentBrackets()
        {
            var str     = "()[]{}";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual(@"\(\)\[\]\{\}", escaped);
        }
예제 #2
0
        public void EscapeDotAndHashSymbol()
        {
            var str     = ".foo#bar";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual(@"\.foo\#bar", escaped);
        }
예제 #3
0
        public void EscapeDecrementOperator()
        {
            var str     = "--a";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("--a", escaped);
        }
예제 #4
0
        public void EscapeEmptyString()
        {
            var str     = "";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("", escaped);
        }
예제 #5
0
        public void EscapeEscapedZero()
        {
            var str     = "\0";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("\ufffd", escaped);
        }
예제 #6
0
        public void EscapeZeroNumber()
        {
            var str     = "0";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual(@"\30 ", escaped);
        }
예제 #7
0
        public void EscapeIntegerNumber()
        {
            var str     = "123";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("\\31 23", escaped);
        }
예제 #8
0
        public void EscapeFloatingNumber()
        {
            var str     = "1.23";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("\\31 \\.23", escaped);
        }
예제 #9
0
        public void EscapeMinusIdentifier()
        {
            var str     = "-bc";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("-bc", escaped);
        }
예제 #10
0
        public void EscapeSingleMinus()
        {
            var str     = "-";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("\\-", escaped);
        }
예제 #11
0
        public void EscapeSimpleIdentifier()
        {
            var str     = "abc";
            var escaped = CssHelpers.Escape(str);

            Assert.AreEqual("abc", escaped);
        }
        internal bool TryConvertTurnToAngle(string token, out double angle)
        {
            if (token.TryExtractNumber("turn", out var turn))
            {
                angle = CssHelpers.FromDegrees(360 * turn);
                return(true);
            }

            angle = 0;
            return(false);
        }
        internal bool TryConvertDegreeToAngle(string token, out double angle)
        {
            if (token.TryExtractNumber("deg", out var degrees))
            {
                angle = CssHelpers.FromDegrees(degrees);
                return(true);
            }

            angle = 0;
            return(false);
        }
예제 #14
0
        internal bool TryConvertDegreeToAngle(string token, out double angle)
        {
            if (token.EndsWith("deg", StringComparison.OrdinalIgnoreCase))
            {
                var index      = token.LastIndexOf("deg", StringComparison.OrdinalIgnoreCase);
                var degreesStr = token.Substring(0, index);

                if (double.TryParse(degreesStr, NumberStyles.Any, CultureInfo.InvariantCulture, out var degrees))
                {
                    angle = CssHelpers.FromDegrees(degrees);
                    return(true);
                }
            }

            angle = 0;
            return(false);
        }