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); } }
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); }
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); } } }
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)); }
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(); }
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"); }
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"); }
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); }
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 }
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"); }
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()); }
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); }
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()); }