protected void SetUp() { _stylesXML = new InStyles(); _storyXML = new InStory(); _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); _outputPath = Common.PathCombine(_testFolderPath, "output"); _outputStyles = Common.PathCombine(_outputPath, "Resources"); _outputStory = Common.PathCombine(_outputPath, "Stories"); _outputSpread = Common.PathCombine(_outputPath, "Spreads"); projInfo.TempOutputFolder = _outputPath; _cssProperty = new Dictionary<string, Dictionary<string, string>>(); _cssTree = new CssTree(); _inputCSS1 = Common.DirectoryPathReplace(_testFolderPath + "/input/Page1.css"); _inputCSS2 = Common.DirectoryPathReplace(_testFolderPath + "/input/Page2.css"); _facingPages.Add("Spread_1.xml"); _facingPages.Add("Spread_2.xml"); _facingPages.Add("Spread_3.xml"); _singlePages.AddRange(_facingPages); _singlePages.Add("Spread_4.xml"); _singlePages.Add("Spread_5.xml"); _columnClass.Add("t1"); _columnClass.Add("t2"); _columnClass.Add("t3"); }
protected void SetUp() { _cssTree = new CssTree(); _stylesXML = new InStyles(); _cssProperty = new Dictionary<string, Dictionary<string, string>>(); _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); _outputPath = Common.PathCombine(_testFolderPath, "output"); _outputResourcePath = Common.PathCombine(_outputPath, "Resources"); }
protected void SetUp() { _stylesXML = new InStyles(); _expectedList = new ArrayList(); _designmapXML = new InDesignMap(); _idAllClass = new Dictionary<string, Dictionary<string, string>>(); _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); ClassProperty = _expected; _outputPath = Common.PathCombine(_testFolderPath, "output"); _outputStyles = Common.PathCombine(_outputPath, "Resources"); _outputMasterSpreads = Common.PathCombine(_outputPath, "MasterSpreads"); _cssProperty = new Dictionary<string, Dictionary<string, string>>(); _cssTree = new CssTree(); }
protected void SetUp() { _stylesXML = new InStyles(); _storyXML = new InStory(); _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); ClassProperty = _expected; //Note: All Reference address initialized here _output = Common.PathCombine(_testFolderPath, "output"); _outputPath = Common.PathCombine(_testFolderPath, "output"); _outputStyles = Common.PathCombine(_outputPath, "Resources"); _outputStory = Common.PathCombine(_outputPath, "Stories"); projInfo.TempOutputFolder = _outputPath; _cssProperty = new Dictionary<string, Dictionary<string, string>>(); _cssTree = new CssTree(); }
protected void SetUpAll() { _stylesXML = new InStyles(); _storyXML = new InStory(); _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); ClassProperty = _expected; //Note: All Reference address initialized here _outputPath = Common.PathCombine(_testFolderPath, "output"); _expectedPath = Common.PathCombine(_testFolderPath, "Expected"); _expectedPath = Common.PathCombine(_expectedPath, "BuangExpect"); _outputStyles = Common.PathCombine(_outputPath, "Resources"); _outputStory = Common.PathCombine(_outputPath, "Stories"); projInfo.TempOutputFolder = _outputPath; _cssProperty = new Dictionary<string, Dictionary<string, string>>(); Common.SupportFolder = ""; Common.ProgInstall = PathPart.Bin(Environment.CurrentDirectory, "/../../DistFiles"); Common.CopyFolderandSubFolder(_expectedPath, _outputPath, true); }
protected void SetUp() { _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); _inputCSS1 = Common.PathCombine(_testFolderPath, "input/MasterSpread.css"); _stylesXML = new InStyles(); _masterSpreadXML = new InMasterSpread(); _idAllClass = new Dictionary<string, Dictionary<string, string>>(); _testFolderPath = PathPart.Bin(Environment.CurrentDirectory, "/InDesignConvert/TestFiles"); ClassProperty = _expected; _outputPath = Common.PathCombine(_testFolderPath, "output"); _outputSpread = Common.PathCombine(_outputPath, "MasterSpreads"); _outputStyle = Common.PathCombine(_outputPath, "Resources"); _outputStory = Common.PathCombine(_outputPath, "Stories"); _cssProperty = new Dictionary<string, Dictionary<string, string>>(); _cssTree = new CssTree(); _listofMasterPages = new ArrayList { "MasterSpread_First.xml", "MasterSpread_All.xml", "MasterSpread_Left.xml", "MasterSpread_Right.xml" }; }
/// <summary> /// Convert XHTML to ODT /// </summary> public bool Export(PublicationInformation projInfo) { PreExportProcess preProcessor = new PreExportProcess(projInfo); preProcessor.GetTempFolderPath(); preProcessor.InsertEmptyHeadwordForReversal(preProcessor.ProcessedXhtml); MergeProcessInXHTMLforMasterPage(preProcessor.ProcessedXhtml); preProcessor.PreserveSpace(); preProcessor.ImagePreprocess(true); preProcessor.ReplaceInvalidTagtoSpan("_AllComplexFormEntryBackRefs|LexEntryRef_PrimaryLexemes", "span"); preProcessor.InsertHiddenChapterNumber(); preProcessor.InsertHiddenVerseNumber(); preProcessor.GetDefinitionLanguage(); var exportTitle = GetExportTitle(); string fileName = exportTitle.ToString(); if (exportTitle.ToString() == string.Empty) { fileName = Path.GetFileNameWithoutExtension(projInfo.DefaultXhtmlFileWithPath); } projInfo.DefaultXhtmlFileWithPath = preProcessor.ProcessedXhtml; projInfo.DefaultCssFileWithPath = preProcessor.ProcessedCss; projInfo.ProjectPath = Path.GetDirectoryName(preProcessor.ProcessedXhtml); Dictionary <string, Dictionary <string, string> > cssClass = new Dictionary <string, Dictionary <string, string> >(); CssTree cssTree = new CssTree(); cssClass = cssTree.CreateCssProperty(projInfo.DefaultCssFileWithPath, true); cssClass = MergeProcessInCSSforMasterPage(projInfo.DefaultCssFileWithPath, cssClass); preProcessor.InsertEmptyXHomographNumber(cssClass); //To insert the variable for macro use InInsertMacro insertMacro = new InInsertMacro(); insertMacro.InsertMacroVariable(projInfo, cssClass); Dictionary <string, Dictionary <string, string> > idAllClass = new Dictionary <string, Dictionary <string, string> >(); InStyles inStyles = new InStyles(); idAllClass = inStyles.CreateIDStyles(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), cssClass); InGraphic inGraphic = new InGraphic(); inGraphic.CreateIDGraphic(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), cssClass, cssTree.cssBorderColor); InStory inStory = new InStory(); Dictionary <string, ArrayList> StyleName = inStory.CreateStory(projInfo, idAllClass, cssTree.SpecificityClass, cssTree.CssClassOrder); InMasterSpread inMasterSpread = new InMasterSpread(); ArrayList masterPageNames = inMasterSpread.CreateIDMasterSpread(Common.PathCombine(projInfo.TempOutputFolder, "MasterSpreads"), idAllClass, StyleName["TextVariables"]); InSpread inSpread = new InSpread(); inSpread.CreateIDSpread(Common.PathCombine(projInfo.TempOutputFolder, "Spreads"), idAllClass, StyleName["ColumnClass"]); InDesignMap inDesignMap = new InDesignMap(); inDesignMap.CreateIDDesignMap(projInfo.TempOutputFolder, StyleName["ColumnClass"].Count, masterPageNames, StyleName["TextVariables"], StyleName["CrossRef"], projInfo.ProjectInputType); InMetaData inMetaData = new InMetaData(); inMetaData.SetDateTimeinMetaDataXML(projInfo.TempOutputFolder); InPreferences inPreferences = new InPreferences(); inPreferences.CreateIDPreferences(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), idAllClass); SubProcess.AfterProcess(projInfo.ProjectFileWithPath); fileName = Common.ReplaceSymbolToUnderline(fileName); string ldmlFullName = Common.PathCombine(projInfo.DictionaryPath, fileName + ".idml"); Compress(projInfo.TempOutputFolder, ldmlFullName); Common.CleanupExportFolder(ldmlFullName, ".tmp,.de", "layout.css", String.Empty); CreateRAMP(projInfo); Common.CleanupExportFolder(ldmlFullName, ".css,.xhtml,.xml", String.Empty, String.Empty); if (projInfo.IsOpenOutput) { Launch(ldmlFullName); } return(true); }
public void ParentPrecede() { _stylesXML = new InStyles(); _storyXML = new InStory(); _inputCSS = Common.DirectoryPathReplace(_testFolderPath + "/input/ParentPrecede.css"); _inputXHTML = Common.DirectoryPathReplace(_testFolderPath + "/input/ParentPrecede.xhtml"); ExportProcess(); _expected.Clear(); string styleName = "xitem_.en_1"; _expected.Add("AppliedParagraphStyle", "ParagraphStyle/" + styleName); XPath = "//ParagraphStyleRange[1][@AppliedParagraphStyle = \"ParagraphStyle/" + styleName + "\"]"; bool result = StoryXmlNodeTest(true); Assert.IsTrue(result, styleName + " test Failed"); _expected.Clear(); styleName = "xlanguagetag_xitem-xitem_xitem_1"; _expected.Add("AppliedCharacterStyle", "CharacterStyle/" + styleName); XPath = "//ParagraphStyleRange[2]/CharacterStyleRange[2][@AppliedCharacterStyle = \"CharacterStyle/" + styleName + "\"]"; result = StoryXmlNodeTest(true); Assert.IsTrue(result, styleName + " test Failed"); }
public void MultiLangHeader3() { _inputXHTML = Common.DirectoryPathReplace(_testFolderPath + "/input/MultiLangHeader3.xhtml"); _inputCSS = Common.DirectoryPathReplace(_testFolderPath + "/input/MultiLangHeader3.css"); PublicationInformation projInfo = new PublicationInformation(); projInfo.ProjectPath = Path.GetDirectoryName(_inputXHTML); projInfo.DefaultXhtmlFileWithPath = _inputXHTML; projInfo.DefaultCssFileWithPath = _inputCSS; PreExportProcess preProcessor = new PreExportProcess(projInfo); preProcessor.GetTempFolderPath(); preProcessor.ImagePreprocess(false); preProcessor.ReplaceInvalidTagtoSpan("_AllComplexFormEntryBackRefs|LexEntryRef_PrimaryLexemes", "span"); preProcessor.InsertHiddenChapterNumber(); preProcessor.InsertHiddenVerseNumber(); preProcessor.GetDefinitionLanguage(); projInfo.DefaultXhtmlFileWithPath = preProcessor.ProcessedXhtml; projInfo.DefaultCssFileWithPath = preProcessor.ProcessedCss; Dictionary<string, Dictionary<string, string>> cssClass = new Dictionary<string, Dictionary<string, string>>(); CssTree cssTree = new CssTree(); cssClass = cssTree.CreateCssProperty(projInfo.DefaultCssFileWithPath, true); preProcessor.InsertEmptyXHomographNumber(cssClass); Dictionary<string, Dictionary<string, string>> idAllClass = new Dictionary<string, Dictionary<string, string>>(); InStyles inStyles = new InStyles(); projInfo.TempOutputFolder = _outputPath; idAllClass = inStyles.CreateIDStyles(Common.PathCombine(_outputPath, "Resources"), cssClass); InGraphic inGraphic = new InGraphic(); inGraphic.CreateIDGraphic(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), cssClass, cssTree.cssBorderColor); InStory inStory = new InStory(); Dictionary<string, ArrayList> StyleName = inStory.CreateStory(projInfo, idAllClass, cssTree.SpecificityClass, cssTree.CssClassOrder); InMasterSpread inMasterSpread = new InMasterSpread(); ArrayList masterPageNames = inMasterSpread.CreateIDMasterSpread(Common.PathCombine(projInfo.TempOutputFolder, "MasterSpreads"), idAllClass, StyleName["TextVariables"]); InSpread inSpread = new InSpread(); inSpread.CreateIDSpread(Common.PathCombine(projInfo.TempOutputFolder, "Spreads"), idAllClass, StyleName["ColumnClass"]); InDesignMap inDesignMap = new InDesignMap(); inDesignMap.CreateIDDesignMap(projInfo.TempOutputFolder, StyleName["ColumnClass"].Count, masterPageNames, StyleName["TextVariables"], StyleName["CrossRef"], string.Empty); InPreferences inPreferences = new InPreferences(); inPreferences.CreateIDPreferences(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), idAllClass); string classname = "dTextVariablenFirst1"; string output = Common.PathCombine(projInfo.TempOutputFolder, "designmap.xml"); string xPath = "//TextVariable[@Self = \"" + classname + "\"]"; XmlNode node = Common.GetXmlNodeInDesignNamespace(output, xPath); string result = node.InnerXml; string expected = "<MatchCharacterStylePreference TextBefore=\"\" TextAfter=\"\" AppliedCharacterStyle=\"CharacterStyle/headword\" SearchStrategy=\"FirstOnPage\" ChangeCase=\"None\" DeleteEndPunctuation=\"false\" />"; Assert.AreEqual(expected, result, "MultiLangHeader1 test failed"); classname = "dTextVariablenLast1"; output = Common.PathCombine(projInfo.TempOutputFolder, "designmap.xml"); xPath = "//TextVariable[@Self = \"" + classname + "\"]"; node = Common.GetXmlNodeInDesignNamespace(output, xPath); result = node.InnerXml; expected = "<MatchCharacterStylePreference TextBefore=\"\" TextAfter=\"\" AppliedCharacterStyle=\"CharacterStyle/headword\" SearchStrategy=\"LastOnPage\" ChangeCase=\"None\" DeleteEndPunctuation=\"false\" />"; Assert.AreEqual(expected, result, "MultiLangHeader1 test failed"); }
public void FileComparisionTest(string fileName, string fileNo) { PublicationInformation projInfo = new PublicationInformation(); projInfo.ProjectPath = Path.GetDirectoryName(_inputXHTML); projInfo.DefaultXhtmlFileWithPath = _inputXHTML; projInfo.DefaultCssFileWithPath = _inputCSS; projInfo.ProjectInputType = "Scripture"; PreExportProcess preProcessor = new PreExportProcess(projInfo); preProcessor.GetTempFolderPath(); preProcessor.ImagePreprocess(false); preProcessor.InsertHiddenChapterNumber(); preProcessor.InsertHiddenVerseNumber(); projInfo.DefaultXhtmlFileWithPath = preProcessor.ProcessedXhtml; projInfo.DefaultCssFileWithPath = preProcessor.ProcessedCss; Dictionary<string, Dictionary<string, string>> cssClass = new Dictionary<string, Dictionary<string, string>>(); CssTree cssTree = new CssTree(); cssClass = cssTree.CreateCssProperty(projInfo.DefaultCssFileWithPath, true); preProcessor.InsertEmptyXHomographNumber(cssClass); Dictionary<string, Dictionary<string, string>> idAllClass = new Dictionary<string, Dictionary<string, string>>(); InStyles inStyles = new InStyles(); projInfo.TempOutputFolder = _outputPath; idAllClass = inStyles.CreateIDStyles(Common.PathCombine(_outputPath, "Resources"), cssClass); InGraphic inGraphic = new InGraphic(); inGraphic.CreateIDGraphic(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), cssClass, cssTree.cssBorderColor); InStory inStory = new InStory(); Dictionary<string, ArrayList> StyleName = inStory.CreateStory(projInfo, idAllClass, cssTree.SpecificityClass, cssTree.CssClassOrder); InMasterSpread inMasterSpread = new InMasterSpread(); ArrayList masterPageNames = inMasterSpread.CreateIDMasterSpread(Common.PathCombine(projInfo.TempOutputFolder, "MasterSpreads"), idAllClass, headwordStyles); InSpread inSpread = new InSpread(); inSpread.CreateIDSpread(Common.PathCombine(projInfo.TempOutputFolder, "Spreads"), idAllClass, StyleName["ColumnClass"]); InDesignMap inDesignMap = new InDesignMap(); inDesignMap.CreateIDDesignMap(projInfo.TempOutputFolder, StyleName["ColumnClass"].Count, masterPageNames, StyleName["TextVariables"], StyleName["CrossRef"], string.Empty); InPreferences inPreferences = new InPreferences(); inPreferences.CreateIDPreferences(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), idAllClass); // Compare files string expectedFolder = Common.PathCombine(_testFolderPath, "Expected\\" + fileName); string output = Common.PathCombine(projInfo.TempOutputFolder, "Stories\\Story_" + fileNo + ".xml"); string expected = Common.PathCombine(expectedFolder, "Stories\\Story_" + fileNo + ".xml"); XmlAssert.AreEqual(output, expected, " Story_"+ fileNo + ".xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "Resources\\styles.xml"); expected = Common.PathCombine(expectedFolder, "Resources\\styles.xml"); XmlAssert.AreEqual(output, expected, " styles.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "Resources\\Graphic.xml"); expected = Common.PathCombine(expectedFolder, "Resources\\Graphic.xml"); XmlAssert.AreEqual(output, expected, " Graphic.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "Resources\\Preferences.xml"); expected = Common.PathCombine(expectedFolder, "Resources\\Preferences.xml"); XmlAssert.AreEqual(output, expected, " Preferences.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "Spreads\\Spread_1.xml"); expected = Common.PathCombine(expectedFolder, "Spreads\\Spread_1.xml"); XmlAssert.AreEqual(output, expected, " Spread_1.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "Spreads\\Spread_2.xml"); expected = Common.PathCombine(expectedFolder, "Spreads\\Spread_2.xml"); XmlAssert.AreEqual(output, expected, " Spread_2.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "Spreads\\Spread_3.xml"); expected = Common.PathCombine(expectedFolder, "Spreads\\Spread_3.xml"); XmlAssert.AreEqual(output, expected, " Spread_3.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "MasterSpreads\\MasterSpread_All.xml"); expected = Common.PathCombine(expectedFolder, "MasterSpreads\\MasterSpread_All.xml"); XmlAssert.AreEqual(output, expected, " MasterSpread_All.xml is not matching"); output = Common.PathCombine(projInfo.TempOutputFolder, "MasterSpreads\\MasterSpread_First.xml"); expected = Common.PathCombine(expectedFolder, "MasterSpreads\\MasterSpread_First.xml"); XmlAssert.AreEqual(output, expected, " MasterSpread_First.xml is not matching"); }
/// <summary> /// Convert XHTML to ODT /// </summary> public bool Export(PublicationInformation projInfo) { PreExportProcess preProcessor = new PreExportProcess(projInfo); preProcessor.GetTempFolderPath(); preProcessor.InsertEmptyHeadwordForReversal(preProcessor.ProcessedXhtml); MergeProcessInXHTMLforMasterPage(preProcessor.ProcessedXhtml); preProcessor.PreserveSpace(); preProcessor.ImagePreprocess(true); preProcessor.ReplaceInvalidTagtoSpan("_AllComplexFormEntryBackRefs|LexEntryRef_PrimaryLexemes", "span"); preProcessor.InsertHiddenChapterNumber(); preProcessor.InsertHiddenVerseNumber(); preProcessor.GetDefinitionLanguage(); var exportTitle = GetExportTitle(); string fileName = exportTitle.ToString(); if (exportTitle.ToString() == string.Empty) { fileName = Path.GetFileNameWithoutExtension(projInfo.DefaultXhtmlFileWithPath); } projInfo.DefaultXhtmlFileWithPath = preProcessor.ProcessedXhtml; projInfo.DefaultCssFileWithPath = preProcessor.ProcessedCss; projInfo.ProjectPath = Path.GetDirectoryName(preProcessor.ProcessedXhtml); Dictionary<string, Dictionary<string, string>> cssClass = new Dictionary<string, Dictionary<string, string>>(); CssTree cssTree = new CssTree(); cssClass = cssTree.CreateCssProperty(projInfo.DefaultCssFileWithPath, true); cssClass = MergeProcessInCSSforMasterPage(projInfo.DefaultCssFileWithPath, cssClass); preProcessor.InsertEmptyXHomographNumber(cssClass); //To insert the variable for macro use InInsertMacro insertMacro = new InInsertMacro(); insertMacro.InsertMacroVariable(projInfo, cssClass); Dictionary<string, Dictionary<string, string>> idAllClass = new Dictionary<string, Dictionary<string, string>>(); InStyles inStyles = new InStyles(); idAllClass = inStyles.CreateIDStyles(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), cssClass); InGraphic inGraphic = new InGraphic(); inGraphic.CreateIDGraphic(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), cssClass, cssTree.cssBorderColor); InStory inStory = new InStory(); Dictionary<string, ArrayList> StyleName = inStory.CreateStory(projInfo, idAllClass, cssTree.SpecificityClass, cssTree.CssClassOrder); InMasterSpread inMasterSpread = new InMasterSpread(); ArrayList masterPageNames = inMasterSpread.CreateIDMasterSpread(Common.PathCombine(projInfo.TempOutputFolder, "MasterSpreads"), idAllClass, StyleName["TextVariables"]); InSpread inSpread = new InSpread(); inSpread.CreateIDSpread(Common.PathCombine(projInfo.TempOutputFolder, "Spreads"), idAllClass, StyleName["ColumnClass"]); InDesignMap inDesignMap = new InDesignMap(); inDesignMap.CreateIDDesignMap(projInfo.TempOutputFolder, StyleName["ColumnClass"].Count, masterPageNames, StyleName["TextVariables"], StyleName["CrossRef"], projInfo.ProjectInputType); InMetaData inMetaData = new InMetaData(); inMetaData.SetDateTimeinMetaDataXML(projInfo.TempOutputFolder); InPreferences inPreferences = new InPreferences(); inPreferences.CreateIDPreferences(Common.PathCombine(projInfo.TempOutputFolder, "Resources"), idAllClass); SubProcess.AfterProcess(projInfo.ProjectFileWithPath); fileName = Common.ReplaceSymbolToUnderline(fileName); string ldmlFullName = Common.PathCombine(projInfo.DictionaryPath, fileName + ".idml"); Compress(projInfo.TempOutputFolder, ldmlFullName); Common.CleanupExportFolder(ldmlFullName, ".tmp,.de", "layout.css", String.Empty); CreateRAMP(projInfo); Common.CleanupExportFolder(ldmlFullName, ".css,.xhtml,.xml", String.Empty, String.Empty); if (projInfo.IsOpenOutput) Launch(ldmlFullName); return true; }