Exemple #1
0
 public virtual void testNonAsciiFileURL()
 {
     for (int i = 0; i < 2; i++) // loop over escape and non-escape
     {
         FileInfo f  = new FileInfo("4€5%äö.txt");
         FileInfo f2 = FileUtil.getFileInDirectory(new DirectoryInfo(sm_dirTestDataTemp), f);
         f2.Delete();
         SupportClass.FileSupport.CreateNewFile(f2);
         f2.Refresh();
         Assert.IsTrue(f2.Exists);
         string   url  = UrlUtil.fileToUrl(f2, i == 0);
         XMLDoc   doc  = new XMLDoc("URL", null);
         KElement root = doc.getRoot();
         root.setAttribute("url", url);
         doc.write2File(sm_dirTestDataTemp + "url.xml", 2, false);
         JDFParser p = new JDFParser();
         p.bKElementOnly = true;
         JDFDoc   d        = p.parseFile(sm_dirTestDataTemp + "url.xml");
         KElement root2    = d.getRoot();
         string   urlParse = root2.getAttribute("url");
         Assert.AreEqual(url, urlParse);
         FileInfo f3 = UrlUtil.urlToFile(urlParse);
         Assert.AreEqual(f2.FullName, f3.FullName);
         Assert.IsTrue(f3.Exists);
     }
 }
Exemple #2
0
        public virtual void testResolveRelativeUrls()
        {
            // Build MIME package
            string path   = sm_dirTestData + "MISPrepress-ICS-Complex.jdf";
            JDFDoc jdfDoc = new JDFParser().parseFile(path);

            Assert.IsNotNull(jdfDoc, "Could not parse JDF: " + path);
            AttachmentCollection multipart = MimeUtil.buildMimePackage(null, jdfDoc, true);

            Assert.IsNotNull(multipart, "Could not build multipart");
            // Verify contents
            Assert.AreEqual(3, multipart.Count);
            JDFDoc jdfDoc2 = MimeUtil.getJDFDoc(multipart[0]);

            Assert.IsNotNull(jdfDoc2);
            JDFNode jdf = jdfDoc2.getJDFRoot();

            Assert.IsNotNull(jdf);
            VElement fileSpecs = jdf.getChildrenByTagName(ElementName.FILESPEC, null, new JDFAttributeMap(AttributeName.URL, "*"), false, false, 0);

            Assert.AreEqual(3, fileSpecs.Count);
            for (IEnumerator i = fileSpecs.GetEnumerator(); i.MoveNext();)
            {
                JDFFileSpec fileSpec = (JDFFileSpec)i.Current;
                string      cid      = fileSpec.getURL();
                Assert.IsTrue(cid.StartsWith("cid:"));
                Assert.IsNotNull(MimeUtil.GetPartByCID(multipart, cid));
            }
        }
        public virtual void testCopyNodeData()
        {
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType(EnumType.Product);
            JDFNode n1 = n = n.addJDFNode(EnumType.BlockPreparation);

            n1.setAttribute("foo:bar", "fnarf", "www.foobar.com");

            JDFDoc          dA = new JDFDoc("JDF");
            JDFAncestorPool ap = dA.getJDFRoot().appendAncestorPool();

            ap.appendAncestor().setNodeID(n1.getID());
            ap.copyNodeData(n, true, true, false);
            JDFAncestor a0 = ap.getAncestor(0);

            Assert.AreEqual("fnarf", a0.getAttribute("foo:bar"));
            Assert.AreEqual(n1.getID(), a0.getNodeID());
            string    s    = dA.write2String(2);
            JDFParser p    = new JDFParser();
            JDFDoc    test = p.parseString(s);

            Assert.IsNotNull(test);
        }
Exemple #4
0
        public virtual void testGetExecutableJDF()
        {
            string docTest   = "MISPrepress_ICS_Minimal.jdf";
            string docDevCap = "DevCaps_Product_MISPrepress_ICS_Minimal.jdf";

            // parse input file
            JDFParser p         = new JDFParser();
            JDFDoc    jmfDevCap = p.parseFile(sm_dirTestData + docDevCap);
            JDFJMF    jmfRoot   = null;

            Assert.IsNotNull(jmfDevCap, "Parse of file " + docDevCap + " failed");
            jmfRoot = jmfDevCap.getJMFRoot();
            Assert.IsNotNull(jmfRoot, "jmfRoot == null Can't start Test");
            XMLDoc docOutDevCap = jmfRoot.getOwnerDocument_KElement();

            docOutDevCap.write2File(sm_dirTestDataTemp + "_" + docDevCap, 0, true);

            JDFDoc  jdfTest = p.parseFile(sm_dirTestData + docTest);
            JDFNode jdfRoot = jdfTest.getJDFRoot();

            Assert.IsTrue(jdfRoot != null, "jdfRoot is null");

            if (jdfRoot != null)
            {
                jdfRoot.getOwnerDocument_KElement();
                JDFDeviceCap deviceCap = (JDFDeviceCap)jmfRoot.getChildByTagName("DeviceCap", null, 0, null, false, true);

                EnumFitsValue       testlists  = EnumFitsValue.Allowed;
                EnumValidationLevel level      = KElement.EnumValidationLevel.Complete;
                VElement            vExecNodes = deviceCap.getExecutableJDF(jdfRoot, testlists, level);
                if (vExecNodes == null)
                {
                    Console.WriteLine(docDevCap + ": found No matching JDFNode");
                }
                else
                {
                    for (int n = 0; n < vExecNodes.Count; n++)
                    {
                        // XMLDoc docExecNodes = ((JDFNode)
                        // vExecNodes.elementAt(n)).getOwnerDocument_KElement();
                        // docExecNodes.write2File ("temp\\" + "_" + docTest
                        // +"_ExecNode" + (n+1) +
                        // ".jdf", 0);
                        Console.WriteLine(vExecNodes[n]);
                    }
                }

                XMLDoc testResult = deviceCap.getBadJDFInfo(jdfRoot, testlists, level);
                if (testResult != null)
                {
                    testResult.write2File(sm_dirTestDataTemp + "_BugReport.xml", 0, true);
                }
            }
        }
Exemple #5
0
        public virtual void testFixVersionProblem()
        {
            JDFParser p = new JDFParser();
            JDFDoc    d = p.parseFile(sm_dirTestData + "FixVersionProblem.jdf");

            Assert.IsNotNull(d, "FixVersionProblem exists");
            n = d.getJDFRoot();
            n.fixVersion(EnumVersion.Version_1_2);
            JDFLayout lo = (JDFLayout)n.getResourcePool().getElement(ElementName.LAYOUT, null, 0);

            Assert.AreEqual(1, lo.numChildElements("Signature", null));
        }
Exemple #6
0
        public override void setUp()
        {
            base.setUp();

            JDFParser p      = new JDFParser();
            JDFDoc    jdfDoc = p.parseFile(sm_dirTestData + PACKAGEDATA);

            JDFNode          root    = (JDFNode)jdfDoc.getRoot();
            JDFContentObject contObj = (JDFContentObject)root.getChildByTagName("ContentObject", "", 0, null, false, true);

            m_strPath = contObj.getSourceClipPath();
        }
Exemple #7
0
        public void testGetNamePath()
        {
            JDFParser p       = new JDFParser();
            string    strNode = "<DevCaps xmlns=\"http://www.CIP4.org/JDFSchema_1_1\" Name=\"RenderingParams\" LinkUsage=\"Input\">" + "<DevCap>" + "<DevCap Name=\"AutomatedOverprintParams\">" + "<BooleanState Name=\"OverPrintBlackText\" DefaultValue=\"true\" AllowedValueList=\"true false\"/>" + "<BooleanState Name=\"OverPrintBlackLineArt\" DefaultValue=\"true\" AllowedValueList=\"true false\"/>" + "</DevCap>" + "</DevCap>" + "</DevCaps>";

            JDFDoc jdfDoc = p.parseString(strNode);

            JDFDevCaps devCaps = (JDFDevCaps)jdfDoc.getRoot();

            JDFBooleanState state = (JDFBooleanState)devCaps.getChildByTagName(ElementName.BOOLEANSTATE, null, 0, null, false, true);

            Console.WriteLine(state.getNamePath());
            Assert.AreEqual(state.getNamePath(), "JDF/ResourcePool/RenderingParams/AutomatedOverprintParams/@OverPrintBlackText");
        }
Exemple #8
0
        public virtual void testDeviceCapIsValid()
        {
            JDFParser p         = new JDFParser();
            string    docDevCap = "DevCaps_Product_MISPrepress_ICS_Minimal.jdf";
            JDFDoc    jmfDevCap = p.parseFile(sm_dirTestData + docDevCap);

            Assert.IsNotNull(jmfDevCap, "Parse of file " + docDevCap + " failed");
            JDFJMF jmfRoot = jmfDevCap.getJMFRoot();

            Assert.IsNotNull(jmfRoot, "jmfRoot == null Can't start Test");
            JDFDeviceCap deviceCap = (JDFDeviceCap)jmfRoot.getChildByTagName("DeviceCap", "", 0, null, false, true);

            Assert.IsTrue(deviceCap.isValid(KElement.EnumValidationLevel.Incomplete));
        }
        public void testFitsValue()
        {
            JDFParser p       = new JDFParser();
            string    strNode = "<DurationState Name=\"BitDepth\" DefaultValue=\"PT1H\" AllowedValueList=\"PT1H~PT4H30M5S\"/>";

            JDFDoc           jdfDoc = p.parseString(strNode);
            JDFDurationState state  = (JDFDurationState)jdfDoc.getRoot();

            state.setListType(EnumListType.SingleValue);
            Assert.IsTrue(state.fitsValue("PT2H", EnumFitsValue.Allowed), "ListType=SingleValue");
            Assert.IsFalse(state.fitsValue("PT6H", EnumFitsValue.Allowed), "ListType=SingleValue");

            state.removeAttribute(AttributeName.ALLOWEDVALUELIST);
            Assert.IsTrue(state.fitsValue("PT2H", EnumFitsValue.Allowed), "ListType=SingleValue");
            Assert.IsTrue(state.fitsValue("PT6H", EnumFitsValue.Allowed), "ListType=SingleValue");
        }
Exemple #10
0
        public virtual void testDefaultNamespace()
        {
            JDFDoc jdfDoc = new JDFDoc(ElementName.JDF);

            string defaultFile = "default.jdf";

            jdfDoc.write2File(sm_dirTestDataTemp + defaultFile, 0, true);

            JDFParser p            = new JDFParser();
            JDFDoc    jdfDocResult = p.parseFile(sm_dirTestDataTemp + defaultFile);

            jdfDocResult.getRoot();

            // assertXMLEqual (jdfDocResult.getMemberDocument (),
            // jdfDoc.getMemberDocument ());
            Assert.AreEqual(jdfDocResult.getDocumentElement().NamespaceURI, jdfDoc.getDocumentElement().NamespaceURI);
        }
Exemple #11
0
        public void testFitsValue()
        {
            JDFParser p       = new JDFParser();
            string    strNode = "<NameState Name=\"BitDepth\" DefaultValue=\"1\" AllowedValueList=\"a b c d\"/>";

            JDFDoc       jdfDoc = p.parseString(strNode);
            JDFNameState state  = (JDFNameState)jdfDoc.getRoot();

            VString list = new VString("a b c", null);

            state.setListType(EnumListType.RangeList);
            Assert.IsFalse(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=RangeList");

            VString list2 = new VString();

            list2.Add("d"); // 1~-2
        }
Exemple #12
0
        public void testAmpersand()
        {
            JDFDoc  d = new JDFDoc("JDF");
            JDFNode n = d.getJDFRoot();

            n.setType("Interpreting", true);
            JDFFileSpec fs  = (JDFFileSpec)n.addResource(ElementName.FILESPEC, null, EnumUsage.Input, null, null, null, null);
            string      url = "FileInfo:///a&b.pdf";

            fs.setURL(url);
            string s = d.write2String(2);

            JDFParser p      = new JDFParser();
            JDFDoc    dNew   = p.parseString(s);
            string    newUrl = ((JDFFileSpec)dNew.getJDFRoot().getResourcePool().getElement(ElementName.FILESPEC, null, 0)).getURL();

            Assert.AreEqual(newUrl, url, "url=url");
        }
Exemple #13
0
        public virtual void testMediaColor()
        {
            // parse input string
            JDFParser p = new JDFParser();

            string strNode = "<MediaIntent xmlns=\"http://www.CIP4.org/JDFSchema_1_1\" ID=\"MI100000\" Class=\"Intent\" Status=\"Available\">" + "<Dimensions DataType=\"XYPairSpan\" Preferred=\"2040.945 2891.339\" Actual=\"2040.945 2891.339\"/>" + "<StockBrand DataType=\"StringSpan\" Preferred=\"Nopacoat Scaldia SC488961\"/>" + "<MediaColor DataType=\"EnumerationSpan\" Preferred=\"White\" Actual=\"White\"/>" + "<Thickness  DataType=\"NumberSpan\" Preferred=\"130.00\" Actual=\"130.00\"/>" + "<Weight     DataType=\"NumberSpan\" Preferred=\"115.00\" Actual=\"115.00\"/>" + "<Grade      DataType=\"IntegerSpan\" Preferred=\"1\" Actual=\"1\"/>" + "</MediaIntent>";

            JDFDoc jdfDoc = p.parseString(strNode);

            // no class cast exception on the following two lines means ok ...
            JDFMediaIntent mediaIntent = (JDFMediaIntent)jdfDoc.getRoot();

            // the java type of MediaColor was changed in JDFLIBJ_2.1.2BLD010
            // from JDFSpanMediaColor to JDFSpanNamedColor,
            // so no class cast exception should occur in getMediaColor()
            JDFSpanNamedColor nc = mediaIntent.getMediaColor();

            Assert.AreEqual("White", nc.getPreferred().getName());
        }
Exemple #14
0
        public void testStitchType()
        {
            JDFDoc          doc     = new JDFDoc("JDF");
            JDFNode         root    = doc.getJDFRoot();
            JDFResourcePool resPool = root.getCreateResourcePool();
            KElement        kElem   = resPool.appendResource(ElementName.STITCHINGPARAMS, null, null);

            Assert.IsTrue(kElem is JDFStitchingParams);
            JDFStitchingParams sp = (JDFStitchingParams)kElem;

            sp.setStitchType(EnumStitchType.Saddle);
            string write2String = doc.write2String(0);

            Assert.IsTrue(write2String.IndexOf("StitchType=\"Saddle\"") > 22);
            JDFParser p2 = new JDFParser();
            JDFDoc    d2 = p2.parseString(write2String);

            Assert.IsTrue(d2.write2String(0).IndexOf("StitchType=\"Saddle\"") > 22);
        }
Exemple #15
0
        public void testFitsValue()
        {
            JDFParser p       = new JDFParser();
            string    strNode = "<IntegerState Name=\"BitDepth\" DefaultValue=\"1\" AllowedValueList=\"1 8 12\"/>";

            JDFDoc          jdfDoc = p.parseString(strNode);
            JDFIntegerState state  = (JDFIntegerState)jdfDoc.getRoot();

            JDFIntegerRangeList list = new JDFIntegerRangeList();

            list.Append(new JDFIntegerRange(1, 12)); // 1~12
            // list.append(12);

            state.setListType(EnumListType.RangeList);
            Assert.IsFalse(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=RangeList");

            JDFIntegerRangeList list2 = new JDFIntegerRangeList();

            list2.Append(new JDFIntegerRange(1, -2)); // 1~-2

            JDFIntegerRangeList allowedVL = new JDFIntegerRangeList();

            allowedVL.Append(new JDFIntegerRange(1, 32)); // 1~32

            state.setAllowedValueList(allowedVL);         // new AllowedVlaueList

            Assert.IsTrue(state.fitsValue(list2.ToString(), EnumFitsValue.Allowed), "xDef is wrong");

            list.erase(list.Count - 1); // erase "1~12"
            list.Append(2);
            list.Append(12);
            list.Append(22);
            state.setListType(EnumListType.List);
            state.setAllowedValueMod(new JDFXYPair(10, 2));
            Assert.IsTrue(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=List, ValueMod=" + state.getAllowedValueMod());
        }