Example #1
0
        public void SetClassAttrib()
        {
            _classAttrib = new ClassAttrib();
            string    className = "testa";
            ArrayList attribute = new ArrayList();

            attribute.Add("eng");
            attribute.Add("US1");
            _classAttrib.SetClassAttrib(className, attribute);
            Assert.AreEqual(className, _classAttrib.ClassName, "SetClassAttrib test Failed");
            Assert.AreEqual(attribute, _classAttrib.Attribute, "SetClassAttrib test Failed");
        }
Example #2
0
        public new void Ancestor()
        {
            _classInfo = new ClassInfo();
            ClassAttrib _expectedClassAttrib = new ClassAttrib();
            ClassAttrib _outputClassAttrib   = new ClassAttrib();

            string    className = "testa";
            ArrayList attribute = new ArrayList();

            attribute.Add("eng");
            attribute.Add("US1");
            _expectedClassAttrib.SetClassAttrib(className, attribute);

            _classInfo.Ancestor = _expectedClassAttrib;
            _outputClassAttrib  = _classInfo.Ancestor;
            Assert.AreEqual(_outputClassAttrib.ClassName, _expectedClassAttrib.ClassName, "CoreClass test Failed");
            Assert.AreEqual(_outputClassAttrib.Attribute, _expectedClassAttrib.Attribute, "CoreClass test Failed");
        }
Example #3
0
        private ClassAttrib ClassNode(TreeNode classNode)
        {
            ClassAttrib clsAtt    = new ClassAttrib();
            ArrayList   clsAttrib = new ArrayList();

            ClassAttribute classAttribute;
            ArrayList      classCollection = new ArrayList();

            string className = GetFirstChild(classNode);

            if (OutputType == Common.OutputType.XELATEX)
            {
                className = Common.ReplaceCSSClassName(className);
            }
            _baseClassName = className;

            foreach (TreeNode node in classNode.Nodes)
            {
                if (node.Text == "ATTRIB")
                {
                    classAttribute = GetAttribValue(node);
                    classCollection.Add(classAttribute);
                }
            }

            foreach (ClassAttribute classAttrib in classCollection)
            {
                if (string.Compare(classAttrib.AttributeSeperator, "HASVALUE") == 0)
                {
                    if (OutputType != Common.OutputType.EPUB)
                    {
                        classAttrib.AttributeValue = classAttrib.AttributeValue.Replace("-", "");
                        classAttrib.AttributeValue = classAttrib.AttributeValue.Replace("_", "");
                    }
                    className              = className + Common.SepAncestor + classAttrib.AttributeValue;
                    _baseClassName         = _baseClassName + Common.Space + classAttrib.AttributeValue;
                    _baseClassName         = Common.SortMutiClass(_baseClassName);
                    _specificityWeightage += 10;
                }
                else if (string.Compare(classAttrib.AttributeSeperator, "ATTRIBEQUAL") == 0)
                {
                    string attribute;
                    classAttrib.AttributeValue = classAttrib.AttributeValue.Replace("\"", "");
                    if (classAttrib.Name == "lang")
                    {
                        attribute = classAttrib.AttributeValue; // remove string "lang"
                    }
                    else if (classAttrib.Name == "src")
                    {
                        attribute = "src";
                        className = classAttrib.AttributeValue;
                    }

                    else
                    {
                        attribute = classAttrib.Name + classAttrib.AttributeValue;
                    }
                    className = className + Common.SepAttrib + attribute;
                    clsAttrib.Add(attribute);
                    _specificityWeightage += 10;
                }
                else if (string.Compare(classAttrib.AttributeSeperator, "BEGINSWITH") == 0)
                {
                    string attribute;
                    classAttrib.AttributeValue = classAttrib.AttributeValue.Replace("\"", "");
                    if (classAttrib.Name == "lang")
                    {
                        attribute = classAttrib.AttributeValue;                         // remove string "lang"
                    }
                    else
                    {
                        attribute = classAttrib.Name + classAttrib.AttributeValue;
                    }
                    className = className + Common.SepAttrib + attribute;
                    clsAttrib.Add(attribute);
                    _specificityWeightage += 10;
                }
                else if (classAttrib.AttributeSeperator.Length == 0)
                {
                    className = className + Common.SepAttrib + classAttrib.Name;
                    clsAttrib.Add(classAttrib.Name);
                    _specificityWeightage += 10;
                }
            }
            clsAtt.SetClassAttrib(className, clsAttrib);
            return(clsAtt);
        }