Exemplo n.º 1
0
        public void InstallationPath_WithNoPdfArchitectInstalled_ReturnsNull()
        {
            var       factory      = new PdfArchitectMockRegistryFactory();
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock);

            Assert.IsNull(path);
        }
Exemplo n.º 2
0
        public void Installed_WithNotPdfArchitect_ReturnsFalse()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var isInstalled = PdfArchitectCheck.Installed(registryMock, fileMock);

            Assert.IsFalse(isInstalled);
        }
Exemplo n.º 3
0
        public void InstallationPath_WithPdfArchitect3WithShortExeNameInstalled_ReturnsCorrectPath()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architect.exe", false);
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock);

            Assert.AreEqual(@"C:\Program Files\PDF Architect 3\architect.exe", path);
        }
Exemplo n.º 4
0
        public void InstallationPath_WithPdfArchitect2InstalledWow64_ReturnsCorrectPath()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 2", @"C:\Program Files (x86)\PDF Architect 2", "PDF Architect 2.exe", true);
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock);

            Assert.AreEqual(@"C:\Program Files (x86)\PDF Architect 2\PDF Architect 2.exe", path);
        }
Exemplo n.º 5
0
        public void Installed_WithPdfArchitect3InstalledWow64_ReturnsTrue()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files (x86)\PDF Architect 3", "PDF Architect 3.exe", true);
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var isInstalled = PdfArchitectCheck.Installed(registryMock, fileMock);

            Assert.IsTrue(isInstalled);
        }
Exemplo n.º 6
0
        public void Installed_WithPdfArchitect3WithInvalidExeName_ReturnsFalse()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architectXAZ.exe", false);
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var isInstalled = PdfArchitectCheck.Installed(registryMock, fileMock);

            Assert.IsFalse(isInstalled);
        }
Exemplo n.º 7
0
        public void InstallationPath_WithJustManagementConsoleInstalled_ReturnsNull()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect Enterprise Server", @"C:\Program Files\PDF Architect Enterprise", "PDF Architect.exe", false);
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock);

            Assert.IsNull(path);
        }
Exemplo n.º 8
0
        public void InstallationPath_WithIOException_DoesNotthrowException()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architect.exe", isWow64: false, throwsException: true);
            var registryMock = factory.BuildRegistry(throwException: true);
            var fileMock     = factory.BuildFile();

            var architectCheck = new PdfArchitectCheck(registryMock, fileMock);

            Assert.DoesNotThrow(() => architectCheck.GetInstallationPath());
        }
Exemplo n.º 9
0
        public void InstallationPath_WithPdfArchitect2And3WowInstalled_ReturnsArchitect3Path()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 2", @"C:\Program Files\PDF Architect 2", "PDF Architect 2.exe", false);
            factory.AddArchitectVersion("001", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "PDF Architect 3.exe", true);
            IRegistry registryMock = factory.BuildRegistry();
            IFile     fileMock     = factory.BuildFile();

            var path = PdfArchitectCheck.InstallationPath(registryMock, fileMock);

            Assert.AreEqual(@"C:\Program Files\PDF Architect 3\PDF Architect 3.exe", path);
        }
Exemplo n.º 10
0
        public void InstallationPath_WithPdfArchitect2Installed_ReturnsCorrectPath()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 2", @"C:\Program Files\PDF Architect 2", "PDF Architect 2.exe", false);
            var registryMock = factory.BuildRegistry();
            var fileMock     = factory.BuildFile();

            var architectCheck = new PdfArchitectCheck(registryMock, fileMock);
            var path           = architectCheck.GetInstallationPath();

            Assert.AreEqual(@"C:\Program Files\PDF Architect 2\PDF Architect 2.exe", path);
        }
Exemplo n.º 11
0
        public void InstallationPath_WithPdfArchitect3WithInvalidExeName_ReturnsNull()
        {
            var factory = new PdfArchitectMockRegistryFactory();

            factory.AddArchitectVersion("000", "PDF Architect 3", @"C:\Program Files\PDF Architect 3", "architectXAZ.exe", false);
            var registryMock = factory.BuildRegistry();
            var fileMock     = factory.BuildFile();

            var architectCheck = new PdfArchitectCheck(registryMock, fileMock);
            var path           = architectCheck.GetInstallationPath();

            Assert.IsNull(path);
        }
Exemplo n.º 12
0
        /// <summary>
        ///     Open all files in the default viewer
        /// </summary>
        /// <param name="job">Job information</param>
        /// <returns>An ActionResult to determine the success and a list of errors</returns>
        public ActionResult ProcessJob(IJob job)
        {
            Logger.Debug("Launched Viewer-Action");

            bool isPdfFile = job.Profile.OutputFormat == OutputFormat.Pdf ||
                             job.Profile.OutputFormat == OutputFormat.PdfA1B ||
                             job.Profile.OutputFormat == OutputFormat.PdfA2B ||
                             job.Profile.OutputFormat == OutputFormat.PdfX;

            if (!isPdfFile)
                return OpenJobOutput(job);

            if (job.Profile.OpenWithPdfArchitect)
            {
                string architectPath = null;

                try
                {
                    architectPath = PdfArchitectCheck.InstallationPath();
                }
                catch (Exception ex)
                {
                    Logger.Warn(ex, "There was an exception while checking the PDF Architect path");
                }

                if (architectPath != null)
                {
                    Logger.Debug("Open with PDF Architect");
                    foreach (string file in job.OutputFiles)
                    {
                        try
                        {
                            var p = new Process();
                            p.StartInfo.FileName = architectPath;
                            p.StartInfo.Arguments = "\"" + file + "\"";
                            p.Start();
                            Logger.Trace("Openend: " + file);
                        }
                        catch
                        {
                            Logger.Error("PDF Architect could not open file: " + file);
                            return new ActionResult(ActionId, 100);
                        }
                    }
                    return new ActionResult();
                }
                Logger.Warn("Open with PDF Architect selected, but not installed");
            }

            if (!FileUtil.Instance.FileAssocHasOpen(".pdf"))
            {
                Logger.Error("No program associated with pdf.");

                if (RecommendPdfArchitect != null)
                {
                    Logger.Info("Recommend PDF Architect.");
                    RecommendPdfArchitect(this, null);
                    return new ActionResult(); //return true, to avoid another message window.
                }
            }

            return OpenJobOutput(job);
        }