Example #1
0
        public void Get_Scripts_Returns_All_Scripts_From_Single_Script_Directory()
        {
            var filePath = Path.Combine(directory, $"_{++testNumber}_TestFile1.sql");

            File.WriteAllText(filePath, "A Test File 1");

            var scriptDir = new ProcessStepDirectory(directory, "*.sql", false);

            var proj = new ConversionProject();

            proj.StepDirectories.Add(scriptDir);

            var scripts = proj.GetSteps();

            Assert.That(scripts, Has.Count.EqualTo(1));
            Assert.That(scripts.FirstOrDefault(v => v.FilePath == filePath), Is.Not.Null);
        }
Example #2
0
        public void Get_Scripts_Serves_Only_Last_Script_If_Multiples_Exist_In_Different_Directories()
        {
            var duplicateName           = "TestFile1";
            var duplicateFileName       = $"_{++testNumber}_{duplicateName}.sql";
            var duplicateFileDirectoryA = Path.Combine(subDirectoryA, duplicateFileName);

            File.WriteAllText(duplicateFileDirectoryA, "Test File 1 - SubDirectoryA");

            var duplicateFileDirectoryB = Path.Combine(subDirectoryB, duplicateFileName);

            File.WriteAllText(duplicateFileDirectoryB, "Test File 1 - SubDirectoryB");

            var filePathB = Path.Combine(subDirectoryB, $"_{++testNumber}_TestFile2.sql");

            File.WriteAllText(filePathB, "Test File 2 - SubDirectoryB");

            var scriptDirA = new ProcessStepDirectory(subDirectoryA, "*.sql", false);
            var scriptDirB = new ProcessStepDirectory(subDirectoryB, "*.sql", false);

            Assert.That(scriptDirA.Steps.Count, Is.EqualTo(1), "ScriptDirA should have one file");
            Assert.That(scriptDirB.Steps.Count, Is.EqualTo(2), "ScriptDirB should have two file");

            var proj = new ConversionProject();

            proj.StepDirectories.Add(scriptDirA);
            proj.StepDirectories.Add(scriptDirB);

            var scripts = proj.GetSteps();

            Assert.That(
                scripts,
                Has.Count.EqualTo(2),
                "Only two files should be returned since two of the three are duplicates");

            var scriptA = scripts.First(v => v.Name == duplicateName);

            Assert.That(
                scriptA.FilePath,
                Is.EqualTo(duplicateFileDirectoryB),
                "The duplicate file should be the copy found in the last script directory");
        }
Example #3
0
        public void Get_Scripts_Returns_All_Scripts_From_Multiple_Script_Directory()
        {
            var filePathA = Path.Combine(subDirectoryA, $"_{++testNumber}_TestFile1.sql");

            File.WriteAllText(filePathA, "Test File 1 - SubDirectoryA");

            var filePathB = Path.Combine(subDirectoryB, $"_{++testNumber}_TestFile2.sql");

            File.WriteAllText(filePathB, "Test File 2 - SubDirectoryB");

            var scriptDirA = new ProcessStepDirectory(subDirectoryA, "*.sql", false);
            var scriptDirB = new ProcessStepDirectory(subDirectoryB, "*.sql", false);

            var proj = new ConversionProject();

            proj.StepDirectories.Add(scriptDirA);
            proj.StepDirectories.Add(scriptDirB);

            var scripts = proj.GetSteps();

            Assert.That(scripts, Has.Count.EqualTo(2));
            Assert.That(scripts.FirstOrDefault(v => v.FilePath == filePathA), Is.Not.Null);
            Assert.That(scripts.FirstOrDefault(v => v.FilePath == filePathB), Is.Not.Null);
        }
        static void FirstConsoleApp (string[] args)
        {
            // Eksperymenty ();
            bool fail = false;
            bool print = false;
            ConversionProject project = new ConversionProject ();
            // SetTestStyle (project);
            SetProject (project);


            for (int i = 0; i < args.Length; i++) {
                if (fail)
                    break;
                if (args [i].StartsWith ("-")) {
                    switch (args [i]) {
                    case "-a": {
                        i++;
                        for (; i < args.Length; i++) {
                            if (args [i].StartsWith ("-")) {
                                i--;
                                break;
                            }
                            try {
                                project.OpenFile (args [i]);
                            }
                            catch (Exception ex) {
                                Console.WriteLine (ex.Message);
                            }
                        }
                        break;
                    }
                    case "-o": 
                    {
                        i++;
                        if (i < args.Length) {
                            project.OutputFileName = args [i];
                        }
                        break;
                    }
                    case "-s": 
                    {
                        break;
                    }
                    case "-p":
                        {
                            print = true;
                            break;
                        }
                    default: {
                        Console.WriteLine ("Nieznane polecenie {0}", args [i]);
                        fail = true;
                        break;
                    }
                    }
                }
                else {
                    Console.WriteLine ("Nieznane polecenie {0}", args [i]);
                    break;
                }
            }
            if (project.OutputFileName != null) {
                try
                {
                    project.ProceedBibTeXFiles ();
                    project.ExecuteStyle();
                    project.GetHtml ();
                    project.SaveHtml ();
                    if(print)
                        Console.WriteLine(project.HtmlFile.Text);
                }
                catch(Exception ex) 
                {
                    Console.WriteLine (ex.ToString());
                }
            }
            else {
                Console.WriteLine ("Musisz podać nazwę pliku wyjśiowego");
            }
            foreach (Exception ex in project.ExceptoptionsLog.Exceptions) 
            {
                Console.WriteLine (ex.Message);
            }
        }
        static void SetTestStyle(ConversionProject project)
        {
            FieldStyle test = new FieldStyle ("title");
            test.Prefix = "W książce: \"";
            test.Suffix = "\"";
            test.Tags.Add (SupportedHtmlTags.b);
            project.BibTeXtoHTML_Style.HtmlExporterStyle.DefaultPositionStyle.FieldStyles.Add (test);
            project.BibTeXtoHTML_Style.HtmlExporterStyle.DefaultPositionStyle.Separator = ", ";
            project.BibTeXtoHTML_Style.HtmlExporterStyle.DefaultPositionStyle.ParagraphParameters = 
                " style=\"display:inline-table;\"";
            project.BibTeXtoHTML_Style.HtmlExporterStyle.SetHtmlHead = true;
            project.BibTeXtoHTML_Style.HtmlExporterStyle.HtmlHead = "<head>\r\n" +
                    "<meta charset=\"UTF-8\">\r\n" +
                    "<script type=\"text/x-mathjax-config\">\r\n" + 
                        "MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});\r\n" +
                    "</script>\r\n" +
                    "<script type=\"text/javascript\" async\r\n" +
                        "src=\"https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_CHTML\">" +
                    "</script>" +
                "</head>";

            project.BibTeXtoHTML_Style.BibTeXTranslator.ExecuteMath = 
                BibTeXTranslator.MathExecutionType.NoIngeretion;
            project.BibTeXtoHTML_Style.BibTeXTranslator.RemoveBracesInMathMode = false;

            project.BibTeXtoHTML_Style.ForceChanges ();
        }
 static void Eksperymenty ()
 {
     Console.WriteLine ("Eksperymenty");
     ConversionProject project = new ConversionProject ();
     project.OutputFileName = "result.html";
     project.OpenFile ("wos-mariusz.bib");
     project.ProceedBibTeXFiles ();
     project.GetHtml ();
     project.SaveHtml ();
 }
        static void SetProject(ConversionProject project)
        {
//            AddTestFunctions_N (project.BibTeXtoHTML_Style.BibTeXTranslator);
//            AddTestFunctions_P (project.BibTeXtoHTML_Style.BibTeXTranslator);
//            AddTestFunctions_PP (project.BibTeXtoHTML_Style.BibTeXTranslator);
//            AddTestMathFunctions_P (project.BibTeXtoHTML_Style.BibTeXTranslator);
//            AddTestFunctions_OP(project.BibTeXtoHTML_Style.BibTeXTranslator);
            project.BibTeXtoHTML_Style = BibTeXtoHTML_Style.ReadFromFile("./test.xst");
            project.BibTeXtoHTML_Style.ForceChanges ();
        }