Ejemplo n.º 1
0
        public virtual void ResolveEveryCounterWithNotDefaultSymbolsTest()
        {
            CssCounterManager manager = new CssCounterManager();
            IElementNode      node    = new _CssPseudoElementNode_272(null, "name");

            manager.ResetCounter("counter", 3);
            manager.PushEveryCounterToCounters(node);
            NUnit.Framework.Assert.AreEqual("III", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.UPPER_ROMAN)));
            manager.ResetCounter("counter", 2);
            NUnit.Framework.Assert.AreEqual("III.II", manager.ResolveCounters("counter", ".", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                  (CssConstants.UPPER_ROMAN)));
            manager.ResolveTargetCounter("id", "counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum(CssConstants.
                                                                                                         UPPER_ROMAN));
            manager.ResolveTargetCounters("id", "counter", ".", HtmlUtils.ConvertStringCounterGlyphStyleToEnum(CssConstants
                                                                                                               .UPPER_ROMAN));
            manager.AddTargetCounterIfRequired(node);
            manager.AddTargetCountersIfRequired(node);
            NUnit.Framework.Assert.AreEqual("II", manager.ResolveTargetCounter("id", "counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                   (CssConstants.UPPER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("III.II", manager.ResolveTargetCounters("id", "counter", ".", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                        (CssConstants.UPPER_ROMAN)));
        }
Ejemplo n.º 2
0
 public virtual String ResolveCounters(String counterName, String counterSeparatorStr, String listSymbolType
                                       , INode node)
 {
     return(ResolveCounters(counterName, counterSeparatorStr, HtmlUtils.ConvertStringCounterGlyphStyleToEnum(listSymbolType
                                                                                                             )));
 }
        /// <summary>Resolves content.</summary>
        /// <param name="styles">the styles map</param>
        /// <param name="contentContainer">the content container</param>
        /// <param name="context">the CSS context</param>
        /// <returns>
        /// a list of
        /// <see cref="iText.StyledXmlParser.Node.INode"/>
        /// instances
        /// </returns>
        internal static IList <INode> ResolveContent(IDictionary <String, String> styles, INode contentContainer, CssContext
                                                     context)
        {
            String        contentStr = styles.Get(CssConstants.CONTENT);
            IList <INode> result     = new List <INode>();

            if (contentStr == null || CssConstants.NONE.Equals(contentStr) || CssConstants.NORMAL.Equals(contentStr))
            {
                return(null);
            }
            CssDeclarationValueTokenizer tokenizer = new CssDeclarationValueTokenizer(contentStr);

            CssDeclarationValueTokenizer.Token token;
            CssQuotes quotes = null;

            while ((token = tokenizer.GetNextValidToken()) != null)
            {
                if (token.IsString())
                {
                    result.Add(new CssContentPropertyResolver.ContentTextNode(contentContainer, token.GetValue()));
                    continue;
                }
                if (token.GetValue().StartsWith(CssConstants.COUNTERS + "("))
                {
                    String paramsStr = token.GetValue().JSubstring(CssConstants.COUNTERS.Length + 1, token.GetValue().Length -
                                                                   1);
                    IList <String> @params = CssUtils.SplitString(paramsStr, ',', ALLOWED_ESCAPE_CHARACTERS);
                    if (@params.Count < COUNTERS_MIN_PARAMS_SIZE)
                    {
                        return(ErrorFallback(contentStr));
                    }
                    // Counters are denoted by case-sensitive identifiers
                    String counterName          = @params[0].Trim();
                    String counterSeparationStr = @params[1].Trim();
                    counterSeparationStr = counterSeparationStr.JSubstring(1, counterSeparationStr.Length - 1);
                    CounterDigitsGlyphStyle listStyleType = HtmlUtils.ConvertStringCounterGlyphStyleToEnum(@params.Count > COUNTERS_MIN_PARAMS_SIZE
                         ? @params[COUNTERS_MIN_PARAMS_SIZE].Trim() : null);
                    CssCounterManager counterManager = context.GetCounterManager();
                    INode             scope          = contentContainer;
                    if (CssConstants.PAGE.Equals(counterName))
                    {
                        result.Add(new PageCountElementNode(false, contentContainer).SetDigitsGlyphStyle(listStyleType));
                    }
                    else
                    {
                        if (CssConstants.PAGES.Equals(counterName))
                        {
                            result.Add(new PageCountElementNode(true, contentContainer).SetDigitsGlyphStyle(listStyleType));
                        }
                        else
                        {
                            String resolvedCounter = counterManager.ResolveCounters(counterName, counterSeparationStr, listStyleType);
                            result.Add(new CssContentPropertyResolver.ContentTextNode(scope, resolvedCounter));
                        }
                    }
                }
                else
                {
                    if (token.GetValue().StartsWith(CssConstants.COUNTER + "("))
                    {
                        String paramsStr = token.GetValue().JSubstring(CssConstants.COUNTER.Length + 1, token.GetValue().Length -
                                                                       1);
                        IList <String> @params = CssUtils.SplitString(paramsStr, ',', ALLOWED_ESCAPE_CHARACTERS);
                        if (@params.Count < COUNTER_MIN_PARAMS_SIZE)
                        {
                            return(ErrorFallback(contentStr));
                        }
                        // Counters are denoted by case-sensitive identifiers
                        String counterName = @params[0].Trim();
                        CounterDigitsGlyphStyle listStyleType = HtmlUtils.ConvertStringCounterGlyphStyleToEnum(@params.Count > COUNTER_MIN_PARAMS_SIZE
                             ? @params[COUNTER_MIN_PARAMS_SIZE].Trim() : null);
                        CssCounterManager counterManager = context.GetCounterManager();
                        INode             scope          = contentContainer;
                        if (CssConstants.PAGE.Equals(counterName))
                        {
                            result.Add(new PageCountElementNode(false, contentContainer).SetDigitsGlyphStyle(listStyleType));
                        }
                        else
                        {
                            if (CssConstants.PAGES.Equals(counterName))
                            {
                                result.Add(new PageCountElementNode(true, contentContainer).SetDigitsGlyphStyle(listStyleType));
                            }
                            else
                            {
                                String resolvedCounter = counterManager.ResolveCounter(counterName, listStyleType);
                                result.Add(new CssContentPropertyResolver.ContentTextNode(scope, resolvedCounter));
                            }
                        }
                    }
                    else
                    {
                        if (token.GetValue().StartsWith(CssConstants.TARGET_COUNTER + "("))
                        {
                            String paramsStr = token.GetValue().JSubstring(CssConstants.TARGET_COUNTER.Length + 1, token.GetValue().Length
                                                                           - 1);
                            IList <String> @params = CssUtils.SplitString(paramsStr, ',', ALLOWED_ESCAPE_CHARACTERS);
                            if (@params.Count < TARGET_COUNTER_MIN_PARAMS_SIZE)
                            {
                                return(ErrorFallback(contentStr));
                            }
                            String target      = CssUtils.ExtractUrl(@params[0]);
                            String counterName = @params[1].Trim();
                            CounterDigitsGlyphStyle listStyleType = HtmlUtils.ConvertStringCounterGlyphStyleToEnum(@params.Count > TARGET_COUNTER_MIN_PARAMS_SIZE
                                 ? @params[TARGET_COUNTER_MIN_PARAMS_SIZE].Trim() : null);
                            if (CssConstants.PAGE.Equals(counterName))
                            {
                                result.Add(new PageTargetCountElementNode(contentContainer, target).SetDigitsGlyphStyle(listStyleType));
                            }
                            else
                            {
                                if (CssConstants.PAGES.Equals(counterName))
                                {
                                    result.Add(new PageCountElementNode(true, contentContainer).SetDigitsGlyphStyle(listStyleType));
                                }
                                else
                                {
                                    String counter = context.GetCounterManager().ResolveTargetCounter(target.Replace("'", "").Replace("#", "")
                                                                                                      , counterName, listStyleType);
                                    CssContentPropertyResolver.ContentTextNode node = new CssContentPropertyResolver.ContentTextNode(contentContainer
                                                                                                                                     , counter == null ? "0" : counter);
                                    result.Add(node);
                                }
                            }
                        }
                        else
                        {
                            if (token.GetValue().StartsWith(CssConstants.TARGET_COUNTERS + "("))
                            {
                                String paramsStr = token.GetValue().JSubstring(CssConstants.TARGET_COUNTERS.Length + 1, token.GetValue().Length
                                                                               - 1);
                                IList <String> @params = CssUtils.SplitString(paramsStr, ',', ALLOWED_ESCAPE_CHARACTERS);
                                if (@params.Count < TARGET_COUNTERS_MIN_PARAMS_SIZE)
                                {
                                    return(ErrorFallback(contentStr));
                                }
                                String target           = CssUtils.ExtractUrl(@params[0]);
                                String counterName      = @params[1].Trim();
                                String counterSeparator = @params[2].Trim();
                                counterSeparator = counterSeparator.JSubstring(1, counterSeparator.Length - 1);
                                CounterDigitsGlyphStyle listStyleType = HtmlUtils.ConvertStringCounterGlyphStyleToEnum(@params.Count > TARGET_COUNTERS_MIN_PARAMS_SIZE
                                     ? @params[TARGET_COUNTERS_MIN_PARAMS_SIZE].Trim() : null);
                                if (CssConstants.PAGE.Equals(counterName))
                                {
                                    result.Add(new PageTargetCountElementNode(contentContainer, target).SetDigitsGlyphStyle(listStyleType));
                                }
                                else
                                {
                                    if (CssConstants.PAGES.Equals(counterName))
                                    {
                                        result.Add(new PageCountElementNode(true, contentContainer).SetDigitsGlyphStyle(listStyleType));
                                    }
                                    else
                                    {
                                        String counters = context.GetCounterManager().ResolveTargetCounters(target.Replace(",", "").Replace("#", ""
                                                                                                                                            ), counterName, counterSeparator, listStyleType);
                                        CssContentPropertyResolver.ContentTextNode node = new CssContentPropertyResolver.ContentTextNode(contentContainer
                                                                                                                                         , counters == null ? "0" : counters);
                                        result.Add(node);
                                    }
                                }
                            }
                            else
                            {
                                if (token.GetValue().StartsWith("url("))
                                {
                                    IDictionary <String, String> attributes = new Dictionary <String, String>();
                                    attributes.Put(AttributeConstants.SRC, CssUtils.ExtractUrl(token.GetValue()));
                                    //TODO: probably should add user agent styles on CssContentElementNode creation, not here.
                                    attributes.Put(AttributeConstants.STYLE, CssConstants.DISPLAY + ":" + CssConstants.INLINE_BLOCK);
                                    result.Add(new CssContentElementNode(contentContainer, TagConstants.IMG, attributes));
                                }
                                else
                                {
                                    if (CssGradientUtil.IsCssLinearGradientValue(token.GetValue()))
                                    {
                                        IDictionary <String, String> attributes = new Dictionary <String, String>();
                                        attributes.Put(AttributeConstants.STYLE, CssConstants.BACKGROUND_IMAGE + ":" + token.GetValue() + ";" + CssConstants
                                                       .HEIGHT + ":" + CssConstants.INHERIT + ";" + CssConstants.WIDTH + ":" + CssConstants.INHERIT + ";");
                                        result.Add(new CssContentElementNode(contentContainer, TagConstants.DIV, attributes));
                                    }
                                    else
                                    {
                                        if (token.GetValue().StartsWith("attr(") && contentContainer is CssPseudoElementNode)
                                        {
                                            int endBracket = token.GetValue().IndexOf(')');
                                            if (endBracket > 5)
                                            {
                                                String attrName = token.GetValue().JSubstring(5, endBracket);
                                                if (attrName.Contains("(") || attrName.Contains(" ") || attrName.Contains("'") || attrName.Contains("\""))
                                                {
                                                    return(ErrorFallback(contentStr));
                                                }
                                                IElementNode element = (IElementNode)contentContainer.ParentNode();
                                                String       value   = element.GetAttribute(attrName);
                                                result.Add(new CssContentPropertyResolver.ContentTextNode(contentContainer, value == null ? "" : value));
                                            }
                                        }
                                        else
                                        {
                                            if (token.GetValue().EndsWith("quote") && contentContainer is IStylesContainer)
                                            {
                                                if (quotes == null)
                                                {
                                                    quotes = CssQuotes.CreateQuotes(styles.Get(CssConstants.QUOTES), true);
                                                }
                                                String value = quotes.ResolveQuote(token.GetValue(), context);
                                                if (value == null)
                                                {
                                                    return(ErrorFallback(contentStr));
                                                }
                                                result.Add(new CssContentPropertyResolver.ContentTextNode(contentContainer, value));
                                            }
                                            else
                                            {
                                                if (token.GetValue().StartsWith(CssConstants.ELEMENT + "(") && contentContainer is PageMarginBoxContextNode
                                                    )
                                                {
                                                    String paramsStr = token.GetValue().JSubstring(CssConstants.ELEMENT.Length + 1, token.GetValue().Length -
                                                                                                   1);
                                                    String[] @params = iText.IO.Util.StringUtil.Split(paramsStr, ",");
                                                    if (@params.Length == 0)
                                                    {
                                                        return(ErrorFallback(contentStr));
                                                    }
                                                    String name = @params[0].Trim();
                                                    String runningElementOccurrence = null;
                                                    if (@params.Length > 1)
                                                    {
                                                        runningElementOccurrence = @params[1].Trim();
                                                    }
                                                    result.Add(new PageMarginRunningElementNode(name, runningElementOccurrence));
                                                }
                                                else
                                                {
                                                    return(ErrorFallback(contentStr));
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
        public virtual void ConvertCounterToSymbolTest()
        {
            CssCounterManager manager = new CssCounterManager();

            manager.ResetCounter("counter", 3);
            NUnit.Framework.Assert.AreEqual("3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (null)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.NONE)));
            NUnit.Framework.Assert.AreEqual("\u2022", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.DISC)));
            NUnit.Framework.Assert.AreEqual("\u25a0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.SQUARE)));
            NUnit.Framework.Assert.AreEqual("\u25e6", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.CIRCLE)));
            NUnit.Framework.Assert.AreEqual("C", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.UPPER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("C", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.UPPER_LATIN)));
            NUnit.Framework.Assert.AreEqual("c", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.LOWER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("c", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.LOWER_LATIN)));
            NUnit.Framework.Assert.AreEqual("\u03b3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.LOWER_GREEK)));
            NUnit.Framework.Assert.AreEqual("iii", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.LOWER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("III", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.UPPER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("03", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.DECIMAL_LEADING_ZERO)));
            NUnit.Framework.Assert.AreEqual("\u10D2", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.GEORGIAN)));
            NUnit.Framework.Assert.AreEqual("\u0533", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.ARMENIAN)));
            NUnit.Framework.Assert.AreEqual("3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            ("some_script")));
            manager.ResetCounter("counter", 0);
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (null)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.NONE)));
            NUnit.Framework.Assert.AreEqual("\u2022", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.DISC)));
            NUnit.Framework.Assert.AreEqual("\u25a0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.SQUARE)));
            NUnit.Framework.Assert.AreEqual("\u25e6", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.CIRCLE)));
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.UPPER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.UPPER_LATIN)));
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.LOWER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.LOWER_LATIN)));
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            (CssConstants.LOWER_GREEK)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.LOWER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.UPPER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("00", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.DECIMAL_LEADING_ZERO)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.GEORGIAN)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.ARMENIAN)));
            NUnit.Framework.Assert.AreEqual("0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                            ("some_script")));
            manager.ResetCounter("counter", -3);
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (null)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.NONE)));
            NUnit.Framework.Assert.AreEqual("\u2022", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.DISC)));
            NUnit.Framework.Assert.AreEqual("\u25a0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.SQUARE)));
            NUnit.Framework.Assert.AreEqual("\u25e6", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.CIRCLE)));
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.UPPER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.UPPER_LATIN)));
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.LOWER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.LOWER_LATIN)));
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             (CssConstants.LOWER_GREEK)));
            NUnit.Framework.Assert.AreEqual("-iii", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               (CssConstants.LOWER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("-III", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               (CssConstants.UPPER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("0-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.DECIMAL_LEADING_ZERO)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.GEORGIAN)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.ARMENIAN)));
            NUnit.Framework.Assert.AreEqual("-3", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                             ("some_script")));
            manager.ResetCounter("counter", 5000);
            NUnit.Framework.Assert.AreEqual("5000", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               (null)));
            NUnit.Framework.Assert.AreEqual("", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                           (CssConstants.NONE)));
            NUnit.Framework.Assert.AreEqual("\u2022", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.DISC)));
            NUnit.Framework.Assert.AreEqual("\u25a0", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.SQUARE)));
            NUnit.Framework.Assert.AreEqual("\u25e6", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.CIRCLE)));
            NUnit.Framework.Assert.AreEqual("GJH", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.UPPER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("GJH", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.UPPER_LATIN)));
            NUnit.Framework.Assert.AreEqual("gjh", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.LOWER_ALPHA)));
            NUnit.Framework.Assert.AreEqual("gjh", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                              (CssConstants.LOWER_LATIN)));
            NUnit.Framework.Assert.AreEqual("\u03b8\u03c0\u03b8", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                             (CssConstants.LOWER_GREEK)));
            NUnit.Framework.Assert.AreEqual("5000", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               (CssConstants.LOWER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("5000", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               (CssConstants.UPPER_ROMAN)));
            NUnit.Framework.Assert.AreEqual("5000", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               (CssConstants.DECIMAL_LEADING_ZERO)));
            NUnit.Framework.Assert.AreEqual("\u10ed", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.GEORGIAN)));
            NUnit.Framework.Assert.AreEqual("\u0550", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                                 (CssConstants.ARMENIAN)));
            NUnit.Framework.Assert.AreEqual("5000", manager.ResolveCounter("counter", HtmlUtils.ConvertStringCounterGlyphStyleToEnum
                                                                               ("some_script")));
        }