Esempio n. 1
0
        public virtual void testContainsElement()
        {
            XMLDoc   d  = new XMLDoc("doc", null);
            KElement e  = d.getRoot();
            KElement e1 = e.appendElement("e1");

            e1.setAttribute("a", "b");
            VElement v = new VElement();

            v.appendUnique(e1);
            e1 = e.appendElement("e1");
            e1.setAttribute("a", "b");
            Assert.IsTrue(v.containsElement(e1), "containsElement");
            Assert.IsFalse(v.Contains(e1), "contains");
            e1.setText("foo");
            Assert.IsFalse(v.containsElement(e1), "containsElement");
            v.appendUnique(e1);
            Assert.AreEqual(2, v.Count, "size");
            e1 = e.appendElement("e1");
            e1.setAttribute("a", "b");
            e1.setText("foo");
            Assert.IsTrue(v.containsElement(e1), "containsElement");
            e1.setText("bar");
            Assert.IsFalse(v.containsElement(e1), "containsElement");
        }
Esempio n. 2
0
        public virtual void testIsEqual()
        {
            XMLDoc   d  = new XMLDoc("doc", null);
            KElement e  = d.getRoot();
            KElement e1 = e.appendElement("e1");

            e1.setAttribute("a", "b");
            KElement e2 = e.appendElement("e1");

            e2.setAttribute("a", "c");
            KElement e3 = e.appendElement("e1");

            e3.setAttribute("a", "c");
            KElement e4 = e.appendElement("e1");

            e4.setAttribute("a", "d");
            VElement v = new VElement();

            v.Add(e1);
            v.Add(e2);
            VElement v2 = new VElement(v);

            Assert.IsTrue(v.isEqual(v2));
            v2[1] = e3;
            Assert.IsTrue(v.isEqual(v2));
            v2[1] = e4;
            Assert.IsFalse(v.isEqual(v2));
        }
Esempio n. 3
0
        public virtual void testWriteToStreamIndent()
        {
            XMLDoc            d   = new XMLDoc("a", null);
            KElement          e   = d.getRoot();
            KElement          b   = e.appendElement("b");
            ByteArrayIOStream bos = new ByteArrayIOStream();

            d.write2Stream(bos, 2, false);
            string s = System.Text.Encoding.GetEncoding("utf-8").GetString(bos.ToArray());

            Assert.IsTrue(s.IndexOf("\n ") > 0);
            string text = "aa\r\nbb\r\n";

            b.setText(text);
            bos = new ByteArrayIOStream();
            d.write2Stream(bos, 2, false);
            s = System.Text.Encoding.GetEncoding("utf-8").GetString(bos.ToArray());
            Assert.IsTrue(s.IndexOf(text) > 0);
            JDFParser p = new JDFParser();

            //		JDFDoc dd =
            p.parseStream(bos.getInputStream());
            bos = new ByteArrayIOStream();
            d.write2Stream(bos, 2, false);
            s = System.Text.Encoding.GetEncoding("utf-8").GetString(bos.ToArray());
            Assert.IsTrue(s.IndexOf(text) > 0);
        }
Esempio n. 4
0
        public virtual void testNSRoot()
        {
            XMLDoc   d = new XMLDoc("JDF:foo", null);
            KElement e = d.getRoot();

            Assert.IsFalse(e is JDFElement, "E K");

            d = new XMLDoc("a:foo", "bar");
            e = d.getRoot();
            Assert.IsFalse(e is JDFElement, "E K");

            d = new XMLDoc("_foo", null);
            e = d.getRoot();
            Assert.IsFalse(e is JDFElement, "E K");

            d = new XMLDoc("bar:foo", JDFConstants.JDFNAMESPACE);
            e = d.getRoot();
            Assert.IsTrue(e is JDFElement, "E K");

            d = new XMLDoc("Myfoo", JDFConstants.JDFNAMESPACE);
            e = d.getRoot();
            Assert.IsTrue(e is JDFElement, "E K");

            d = new XMLDoc("JDF:Myfoo", JDFConstants.JDFNAMESPACE);
            e = d.getRoot();
            Assert.IsTrue(e is JDFElement, "E K");

            d = new XMLDoc("Myfoo", null);
            e = d.getRoot();
            Assert.IsFalse(e is JDFElement, "E K");
        }
Esempio n. 5
0
        public virtual void testCreateBig()
        {
            for (int ii = 0; ii < 4; ii++)
            {
                XMLDoc   d = ii % 2 == 0 ? new XMLDoc("foo", null) : new JDFDoc("JDF");
                KElement e = d.getRoot();
                long     l = DateTime.Now.Ticks;
                for (int j = 0; j < 2000; j++)
                {
                    KElement e2 = e.appendElement("AuditPool");
                    KElement e3 = e2.appendElement("Created");
                    for (int i = 33; i < 199; i++)
                    {
                        if (i < 2)
                        {
                            e3.setAttribute("k" + Convert.ToString(i), "value" + Convert.ToString(i));
                        }
                        else
                        {
                            e3.setAttributeRaw("k" + Convert.ToString(i), "value" + Convert.ToString(i));
                        }
                    }
                }
                long l2 = DateTime.Now.Ticks;

                Console.WriteLine("xmldoc create: " + ii + " " + (l2 - l) / 1000000);
                string fil = sm_dirTestDataTemp + "big" + ii + "writ.jdf";
                d.write2File(fil, 2, false);
                FileInfo f  = new FileInfo(fil);
                long     l3 = DateTime.Now.Ticks;
                Console.WriteLine("xmldoc write: " + ii + " " + (l3 - l2) / 1000000 + " " + f.Length);
                Console.WriteLine("xmldoc total: " + ii + " " + (l3 - l) / 1000000 + "\n");
            }
        }
Esempio n. 6
0
        public virtual void testIsDirty()
        {
            XMLDoc   doc = new XMLDoc("test", null);
            KElement e   = doc.getRoot();

            Assert.IsFalse(e.isDirty());
            Assert.IsFalse(doc.isDirty(null));
            doc.getCreateXMLDocUserData().setDirtyPolicy(EnumDirtyPolicy.Doc);
            Assert.IsFalse(e.isDirty());
            Assert.IsFalse(doc.isDirty(null));
            e.setAttribute("foo", "bar");
            Assert.IsTrue(e.isDirty());
            Assert.IsTrue(doc.isDirty(null));
            doc.clearDirtyIDs();
            Assert.IsFalse(doc.isDirty(null));
            Assert.IsFalse(e.isDirty());
            KElement e2 = e.appendElement("foobar");

            Assert.IsTrue(e.isDirty());
            Assert.IsTrue(doc.isDirty(null));
            Assert.IsTrue(e2.isDirty());
            doc.getCreateXMLDocUserData().setDirtyPolicy(EnumDirtyPolicy.XPath);
            doc.clearDirtyIDs();
            Assert.IsFalse(doc.isDirty(null));
            Assert.IsFalse(e.isDirty());
            e2 = e.appendElement("foobar");
            Assert.IsTrue(doc.isDirty(null));
            Assert.IsTrue(e.isDirty());
            Assert.IsTrue(e2.isDirty());
        }
Esempio n. 7
0
        public virtual void testCreateElement()
        {
            XMLDoc   d = new XMLDoc("TEST", null);
            KElement e = (KElement)d.createElement("foo:bar");

            // e.appendElement("bar:foo");
            e.setAttribute("foo:at", "1");
            e.appendElement("bar2");
            d.getRoot().appendChild(e);
            Assert.AreEqual("1", e.getAttribute("foo:at"));
        }
Esempio n. 8
0
        public virtual void testWriteToStringIndent()
        {
            XMLDoc   d = new XMLDoc("a", null);
            KElement e = d.getRoot();

            e.appendElement("b");
            string s = d.write2String(2);

            Assert.IsTrue(s.IndexOf("\n ") > 0);
            s = d.write2String(0);
            Assert.IsTrue(s.EndsWith("<a>\r\n<b />\r\n</a>"));
        }
Esempio n. 9
0
        public virtual void testCreateElementThreads()
        {
            XMLDoc d1 = new XMLDoc("JDF", null);

            Assert.AreEqual(typeof(KElement), d1.getRoot().GetType(), "XMLDoc only creates KElement");
            JDFDoc jd = new JDFDoc("JDF");

            Assert.AreEqual(typeof(JDFNode), jd.getRoot().GetType(), "JDFDoc creates typesafe elements");
            XMLDoc d2 = new XMLDoc("JDF", null);

            Assert.AreEqual(typeof(KElement), d2.getRoot().GetType(), "XMLDoc only creates KElement - Hasmap must not be applied");
        }
Esempio n. 10
0
        public virtual void testEscapeStrings()
        {
            XMLDoc   d = new XMLDoc("foo", "www.foo.com");
            KElement e = d.getRoot();

            e.setAttribute("bar", "><&'\"");
            string s = d.write2String(0);

            Assert.IsTrue(s.IndexOf("&lt;") > 0);
            Assert.IsTrue(s.IndexOf("&amp;") > 0);
            Assert.IsTrue(s.IndexOf("&quot;") > 0);
        }
Esempio n. 11
0
        public virtual void testgetNodeNames()
        {
            XMLDoc   d = new XMLDoc("doc", null);
            KElement e = d.getRoot();

            e.appendElement("a1");
            e.appendElement("b:a2", "b");
            VElement v = e.getChildElementVector(null, null, null, true, 0, true);
            VString  s = v.getElementNameVector(false);

            CollectionAssert.AreEqual(new VString("a1 b:a2", " "), s);
            s = v.getElementNameVector(true);
            CollectionAssert.AreEqual(new VString("a1 a2", " "), s);
        }
Esempio n. 12
0
        public virtual void testNS()
        {
            JDFDoc doc = new JDFDoc("foo:bar");
            string s   = doc.write2String(2);

            Assert.IsTrue(s.IndexOf(JDFConstants.JDFNAMESPACE) > 0);
            XMLDoc doc2 = new XMLDoc("abc", null);
            string s2   = doc2.write2String(2);

            Assert.IsTrue(s2.IndexOf(JDFConstants.JDFNAMESPACE) < 0);
            doc2.getRoot().copyElement(doc.getRoot(), null);
            s2 = doc2.write2String(2);
            Assert.IsTrue(s2.IndexOf(JDFConstants.JDFNAMESPACE) > 0);
        }
Esempio n. 13
0
        public virtual void testForeignRoot()
        {
            XMLDoc   doc = new XMLDoc("Foo", "fooNS");
            KElement r   = doc.getRoot();
            JDFNode  n   = new JDFDoc("JDF").getJDFRoot();

            r.copyElement(n, null);
            string    s = doc.write2String(0);
            JDFParser p = new JDFParser();
            JDFDoc    d = p.parseString(s);

            Assert.IsNotNull(d.getJDFRoot());
            Assert.IsNotNull(d.getRoot());
            Assert.AreNotEqual(d.getRoot(), d.getJDFRoot());
        }
Esempio n. 14
0
        public virtual void testAddAll()
        {
            XMLDoc   d = new XMLDoc("doc", null);
            KElement e = d.getRoot();
            VElement v = new VElement();

            v.addAll((VElement)null);
            Assert.AreEqual(0, v.Count);
            v.Add(e);
            Assert.AreEqual(1, v.Count);
            v.addAll(v);
            Assert.AreEqual(2, v.Count);
            v.addAll(v);
            Assert.AreEqual(4, v.Count);
        }
Esempio n. 15
0
        public virtual void testSort()
        {
            XMLDoc   d  = new XMLDoc("doc", null);
            KElement e  = d.getRoot();
            KElement e1 = e.appendElement("e1");

            e1.setAttribute("a", "z");
            KElement e2 = e.appendElement("e1");

            e2.setAttribute("a", "c");
            VElement v = new VElement();

            v.Add(e1);
            v.Add(e2);
            v.Sort();
            Assert.AreEqual(e2, v[0]);
        }
Esempio n. 16
0
        public virtual void testClone()
        {
            XMLDoc doc  = new XMLDoc("foobar", null);
            XMLDoc doc2 = (XMLDoc)doc.Clone();

            Assert.IsNotNull(doc.getDocumentElement());
            Assert.IsNotNull(doc2.getDocumentElement());
            Assert.AreNotEqual(doc.getDocumentElement(), doc2.getDocumentElement());
            KElement e = doc.getRoot();

            e.setAttribute("foo", "bar");
            Assert.IsTrue(e.hasAttribute("foo"));
            KElement e2 = doc2.getRoot();

            Assert.IsFalse(e2.hasAttribute("foo"));
            Assert.AreEqual(doc.getDoctype(), doc2.getDoctype());
            Assert.AreEqual(e2.getOwnerDocument_KElement(), doc2);
            Assert.AreNotEqual(doc.getXMLDocUserData(), doc2.getXMLDocUserData());
        }
Esempio n. 17
0
        public virtual void testUnify()
        {
            XMLDoc   d  = new XMLDoc("doc", null);
            KElement e  = d.getRoot();
            KElement e1 = e.appendElement("e1");

            e1.setAttribute("a", "b");
            VElement v = new VElement();

            v.Add(e1);
            v.Add(e1);
            e1 = e.appendElement("e1");
            e1.setAttribute("a", "b");
            v.Add(e1);
            Assert.AreEqual(3, v.Count);
            v.unify();
            Assert.AreEqual(2, v.Count);
            v.unifyElement();
            Assert.AreEqual(1, v.Count);
        }
Esempio n. 18
0
        public virtual void testSize()
        {
            Process.GetCurrentProcess();
            GC.Collect();
            Process.GetCurrentProcess();
            GC.Collect();
            Process.GetCurrentProcess();
            GC.Collect();

            XMLDoc d        = new XMLDoc("JDF:foo", JDFConstants.JDFNAMESPACE);
            long   memlocal = d.getDocMemoryUsed();
            string s        = d.write2String(0);

            Assert.IsTrue(memlocal + 100000 > s.Length, "mem 1");
            // the gc is messy and sometimes returns +/- a few 10k
            Assert.IsTrue(memlocal + 100000 > s.Length, "mem 2");
            d        = JDFTestCaseBase.creatXMDoc();
            memlocal = d.getDocMemoryUsed();
            s        = d.write2String(0);
            Assert.IsTrue(memlocal + 10000 > s.Length, "mem 3");
            d = new XMLDoc("foo", null);
            KElement e  = d.getRoot();
            KElement e2 = e.appendElement("e2");
            KElement e3 = e2.appendElement("e3");

            for (int i = 33; i < 999; i++)
            {
                e3.setAttribute("k" + Convert.ToString(i), "value" + Convert.ToString(i));
            }
            for (int j = 0; j < 99; j++)
            {
                e2.copyElement(e3, null);
            }
            memlocal = d.getDocMemoryUsed();
            s        = d.write2String(0);
            Assert.IsTrue(memlocal + 200000 > s.Length, "mem 4");
        }
Esempio n. 19
0
        public virtual void testWriteToFileThreadWrite()
        {
            XMLDoc d    = new XMLDoc("doc", null);
            string @out = sm_dirTestDataTemp + @"\Thread.jdf";

            KElement root = d.getRoot();

            for (int i = 0; i < 1000; i++)
            {
                root.appendElement("elem0").appendElement("elem1").appendElement("elem2").setAttribute("foo", "bar" + i);
            }
            MyWriteThread[] mrs = new MyWriteThread[10];
            for (int i = 0; i < 10; i++)
            {
                MyWriteThread mr = new MyWriteThread();
                mr.d     = d;
                mr.iLoop = i;
                mrs[i]   = mr;
                new Thread(new ThreadStart(mr.Run)).Start();
            }
            Console.WriteLine("Writing start");
            Assert.IsTrue(d.write2File(@out, 2, true));
            Console.WriteLine("Writing done");
            for (int i = 0; i < 10; i++)
            {
                if (mrs[i].hook != null)
                {
                    // Assert.Fail("exception: "+h.e);
                    Console.WriteLine("******** Xerces known defect: not threadsafe: " + mrs[i].hook);
                }
            }

            FileInfo f = new FileInfo(@out);

            Assert.IsTrue(f.Exists);
        }
Esempio n. 20
0
 public XMLErrorHandler()
     : base()
 {
     xmlOutput = new XMLDoc("SchemaValidationOutput", null);
     root      = xmlOutput.getRoot();
 }