public void SetUpFixture()
        {
            BitmapFileNamesRequested.Clear();
            CreatedComponents.Clear();

            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            projectDirectory = p.Directory;
            p.Name           = "MySetup";

            FileProjectItem item = new FileProjectItem(p, ItemType.Compile);

            item.Include = "Setup.wxs";
            string docFileName = item.FileName;

            ProjectService.AddProjectItem(p, item);

            item         = new FileProjectItem(p, ItemType.Compile);
            item.Include = "Fragment.wxs";
            ProjectService.AddProjectItem(p, item);

            WixDocument doc = new WixDocument(p, this);

            doc.FileName = docFileName;
            doc.LoadXml(GetMainWixXml());

            WixDialog wixDialog = doc.CreateWixDialog("WelcomeDialog", this);

            using (Form dialog = wixDialog.CreateDialog(this)) {
                PictureBox pictureBox = (PictureBox)dialog.Controls[0];
                hasImage = (pictureBox.Image != null);
            }
        }
Esempio n. 2
0
        public void MissingWidth()
        {
            WixProject  project = WixBindingTestsHelper.CreateEmptyWixProject();
            WixDocument doc     = new WixDocument(project);
            string      xml     = "<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>\r\n" +
                                  "\t<Fragment>\r\n" +
                                  "\t\t<UI>\r\n" +
                                  "\t\t\t<Dialog Id='WelcomeDialog' Height='200' Width='370'>\r\n" +
                                  "\t\t\t\t<Control Id='Next' Type='PushButton' X='236' Width='60' Height='20' Text='Next'/>\r\n" +
                                  "\t\t\t</Dialog>\r\n" +
                                  "\t\t</UI>\r\n" +
                                  "\t</Fragment>\r\n" +
                                  "</Wix>";

            doc.LoadXml(xml);
            WixDialog wixDialog = doc.GetDialog("WelcomeDialog");

            try {
                wixDialog.CreateDialog();
                Assert.Fail("Expected an exception before this line.");
            } catch (WixDialogException ex) {
                Assert.AreEqual("Control", ex.ElementName);
                Assert.AreEqual("Next", ex.Id);
                Assert.AreEqual("Required attribute 'Y' is missing.", ex.Message);
            }
        }
        public void CanBuildWixProject()
        {
            WixProject            p       = WixBindingTestsHelper.CreateEmptyWixProject();
            WixProjectNodeBuilder builder = new WixProjectNodeBuilder();

            Assert.IsTrue(builder.CanBuildProjectTree(p));
        }
Esempio n. 4
0
        public void SetUpFixture()
        {
            WixBindingTestsHelper.InitMSBuildEngine();

            // create the project.
            ProjectCreateInformation info = new ProjectCreateInformation();

            info.Solution              = new Solution(new MockProjectChangeWatcher());
            info.ProjectName           = "Test";
            info.OutputProjectFileName = @"C:\Projects\Test\Test.wixproj";

            wixProject = new WixProjectWithOverriddenSave(info);

            // Add wix extensionitem.
            wixExtensionItem         = new WixExtensionProjectItem(wixProject);
            wixExtensionItem.Include = @"..\..\first.dll";
            ProjectService.AddProjectItem(wixProject, wixExtensionItem);

            // Run Initialize on the WixExtensionFolderNode, which is
            // equivalent to expanding the node, so it adds it children. Cannot
            // call ExtTreeNode.Expanding since this relies on the tree node
            // being visible.
            WixExtensionFolderNodeTester nodeTester = new WixExtensionFolderNodeTester(wixProject);

            nodeTester.RunInitialize();

            wixExtensionFolderNode = (WixExtensionFolderNode)nodeTester;
            wixExtensionNode       = (WixExtensionNode)wixExtensionFolderNode.Nodes[0];
        }
        public void SetUpFixture()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            FileProjectItem item = new FileProjectItem(p, ItemType.None);

            item.Include = "readme.txt";
            ProjectService.AddProjectItem(p, item);

            ReferenceProjectItem referenceItem = new ReferenceProjectItem(p);

            referenceItem.Include = "System.Windows.Forms";
            ProjectService.AddProjectItem(p, referenceItem);

            item         = new FileProjectItem(p, ItemType.Compile);
            item.Include = "setup.wxs";
            ProjectService.AddProjectItem(p, item);

            item         = new FileProjectItem(p, ItemType.Compile);
            item.Include = "components.wxi";
            ProjectService.AddProjectItem(p, item);

            wixFileProjectItemCount = 0;

            foreach (FileProjectItem fileItem in p.WixFiles)
            {
                wixFileProjectItemCount++;
            }
            wixSourceFileProjectItem  = p.WixFiles[0];
            wixIncludeFileProjectItem = p.WixFiles[1];
        }
Esempio n. 6
0
        public void SetUpFixture()
        {
            wixProject = WixBindingTestsHelper.CreateEmptyWixProject();

            // Add wix Extension item.
            firstWixExtensionItem         = new WixExtensionProjectItem(wixProject);
            firstWixExtensionItem.Include = @"..\..\first-ext.dll";
            ProjectService.AddProjectItem(wixProject, firstWixExtensionItem);

            // Add another wix Extension item.
            secondWixExtensionItem         = new WixExtensionProjectItem(wixProject);
            secondWixExtensionItem.Include = @"..\..\second-ext.dll";
            ProjectService.AddProjectItem(wixProject, secondWixExtensionItem);

            // Run Initialize on the WixExtensionFolderNode, which is
            // equivalent to expanding the node, so it adds it children. Cannot
            // call ExtTreeNode.Expanding since this relies on the tree node
            // being visible.
            WixExtensionFolderNodeTester nodeTester = new WixExtensionFolderNodeTester(wixProject);

            nodeTester.RunInitialize();

            wixExtensionFolderNode = (WixExtensionFolderNode)nodeTester;
            if (wixExtensionFolderNode.Nodes.Count > 1)
            {
                firstWixExtensionNode  = (WixExtensionNode)wixExtensionFolderNode.Nodes[0];
                secondWixExtensionNode = (WixExtensionNode)wixExtensionFolderNode.Nodes[1];
            }
        }
        public void SetUpFixture()
        {
            ResourceManager rm = new ResourceManager("WixBinding.Tests.Strings", GetType().Assembly);

            ResourceService.RegisterNeutralStrings(rm);

            wixProject = WixBindingTestsHelper.CreateEmptyWixProject();
            parentNode = new TreeNode();
            WixProjectNodeBuilder builder = new WixProjectNodeBuilder();

            wixProjectNode = builder.AddProjectNode(parentNode, wixProject) as ProjectNode;

            foreach (TreeNode node in wixProjectNode.Nodes)
            {
                if (node is WixLibraryFolderNode)
                {
                    wixLibraryFolderNode = node as WixLibraryFolderNode;
                }
                else if (node is WixExtensionFolderNode)
                {
                    wixExtensionFolderNode = node as WixExtensionFolderNode;
                }
            }

            foreach (TreeNode node in wixProjectNode.Nodes)
            {
                referenceFolderNode = node as ReferenceFolder;
                if (referenceFolderNode != null)
                {
                    break;
                }
            }
        }
        public void SetUpFixture()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            projectDirectory = p.Directory;
            p.Name           = "MySetup";

            FileProjectItem item = new FileProjectItem(p, ItemType.Compile);

            item.Include = "Setup.wxs";
            string docFileName = item.FileName;

            ProjectService.AddProjectItem(p, item);

            item         = new FileProjectItem(p, ItemType.Compile);
            item.Include = "Binaries.wxs";
            ProjectService.AddProjectItem(p, item);

            WixDocument doc = new WixDocument(p);

            doc.FileName = docFileName;
            doc.LoadXml(GetMainWixXml());

            binaries = new WixBinaries(doc, this);
        }
        public void CreatingWixDocumentWithNullFileLoaderThrowsArgumentNullException()
        {
            IFileLoader fileLoader = null;
            WixProject  project    = WixBindingTestsHelper.CreateEmptyWixProject();

            Assert.Throws <ArgumentNullException>(delegate { WixDocument doc = new WixDocument(project, fileLoader); });
        }
        public void Init()
        {
            SD.InitializeForUnitTests();
            textEditor = new MockTextEditor();
            MockTextEditorViewContent viewContent = new MockTextEditorViewContent();
            viewContent.TextEditor = textEditor;
            viewContent.SetFileName(@"d:\projects\test\file.wxs");

            workbench = new MockWorkbench();
            workbench.ViewContentCollection.Add(viewContent);

            MockTextEditorOptions textEditorOptions = new MockTextEditorOptions();
            MockXmlTextWriter xmlTextWriter = new MockXmlTextWriter(textEditorOptions);
            WixProject project = WixBindingTestsHelper.CreateEmptyWixProject();
            document = new WixDocument(project, new DefaultFileLoader());
            document.LoadXml(GetWixXml());
            document.FileName = @"d:\projects\test\File.wxs";
            textEditor.Document.Text = GetWixXml();

            MockWixPackageFilesControl packageFilesControl = new MockWixPackageFilesControl();
            packageFilesView = new PackageFilesView(project, workbench, packageFilesControl, xmlTextWriter);

            packageFilesControl.IsDirty = true;
            AddNewChildElementsToDirectory();
            packageFilesView.Write(document);
        }
        public void VariableValueWithSpaces()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            p.SetProperty("DefineConstants", " DATADIR = Bitmaps ");
            Assert.AreEqual("Bitmaps", p.GetPreprocessorVariableValue("DATADIR"));
        }
Esempio n. 12
0
        public void TwoDefinedVariableNames()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            p.SetProperty("DefineConstants", "TEST=test;DATADIR=Bitmaps");
            Assert.AreEqual("Bitmaps", p.GetVariable("DATADIR"));
        }
Esempio n. 13
0
        public void CreateWixExtensionProjectItem()
        {
            WixProject  p    = WixBindingTestsHelper.CreateEmptyWixProject();
            ProjectItem item = p.CreateProjectItem(new BuildItem("WixExtension", "DummyInclude"));

            Assert.IsInstanceOf(typeof(WixExtensionProjectItem), item);
        }
        public void SetUpFixture()
        {
            SD.InitializeForUnitTests();
            wixProject = WixBindingTestsHelper.CreateEmptyWixProject();

            // Add wix library item.
            firstWixLibraryItem         = new WixLibraryProjectItem(wixProject);
            firstWixLibraryItem.Include = @"..\..\first.wixlib";
            ProjectService.AddProjectItem(wixProject, firstWixLibraryItem);

            // Add another wix library item.
            secondWixLibraryItem         = new WixLibraryProjectItem(wixProject);
            secondWixLibraryItem.Include = @"..\..\second.wixlib";
            ProjectService.AddProjectItem(wixProject, secondWixLibraryItem);

            // Run Initialize on the WixLibraryFolderNode, which is
            // equivalent to expanding the node, so it adds it children. Cannot
            // call ExtTreeNode.Expanding since this relies on the tree node
            // being visible.
            WixLibraryFolderNodeTester nodeTester = new WixLibraryFolderNodeTester(wixProject);

            nodeTester.RunInitialize();

            wixLibraryFolderNode = (WixLibraryFolderNode)nodeTester;
            firstWixLibraryNode  = (WixLibraryNode)wixLibraryFolderNode.Nodes[0];
            secondWixLibraryNode = (WixLibraryNode)wixLibraryFolderNode.Nodes[1];
        }
        public void OutputNameDifferentToProjectName()
        {
            WixProject project = WixBindingTestsHelper.CreateEmptyWixProject();

            project.SetProperty("OutputName", "ChangedName");

            Assert.AreEqual(@"C:\Projects\Test\bin\Debug\ChangedName.msi", project.GetInstallerFullPath());
        }
        public void Init()
        {
            project   = WixBindingTestsHelper.CreateEmptyWixProject();
            factory   = new MockPackageFilesViewFactory();
            workbench = new MockWorkbench();

            view = factory.Create(project, workbench);
        }
Esempio n. 17
0
        public void Init()
        {
            workbench        = new MockWorkbench();
            project          = WixBindingTestsHelper.CreateEmptyWixProject();
            packageFilesView = new PackageFilesView(project, workbench);

            workbench.ActiveViewContent = packageFilesView;
        }
Esempio n. 18
0
        public PackageFilesView Create(WixProject project, IWorkbench workbench)
        {
            createMethodProjectParameter   = project;
            createMethodWorkbenchParameter = workbench;
            packageFilesControl            = new MockWixPackageFilesControl();

            packageFilesViewCreated = new PackageFilesView(project, workbench, packageFilesControl);
            return(packageFilesViewCreated);
        }
Esempio n. 19
0
        public void Init()
        {
            WixProject project = WixBindingTestsHelper.CreateEmptyWixProject();

            project.SetProperty("DefineConstants", @"DATADIR=Bitmaps;");
            document          = new WixDocument(project);
            document.FileName = @"C:\Projects\Setup\Setup.wxs";
            document.LoadXml(GetWixXml());
        }
Esempio n. 20
0
        private void GenerateMappings(IEnumerable vsProjects, WixProject wixProject)
        {
            if (vsProjects == null)
            {
                return;
            }

            GenerateMappings(vsProjects.Cast <Project>().ToArray(), wixProject);
        }
Esempio n. 21
0
        public DirectoryMapping([NotNull] string directory, [NotNull] WixProject wixProject, [NotNull] IList <WixDirectoryNode> unmappedNodes)
        {
            Directory     = directory;
            _wixProject   = wixProject;
            Id            = wixProject.GetDirectoryId(directory);
            UnmappedNodes = unmappedNodes;

            MappedNode = wixProject.DirectoryNodes.FirstOrDefault(node => node.Id == Id);
        }
        public void GetActiveViewReturnsPackageFilesViewWhenActiveContentIsPackageFilesView()
        {
            WixProject project = WixBindingTestsHelper.CreateEmptyWixProject();

            using (PackageFilesView packageFilesView = new PackageFilesView(project, workbench)) {
                workbench.ActiveContent = packageFilesView;
                Assert.AreSame(packageFilesView, activePackageFilesView.GetActiveView());
            }
        }
        void CreatePackageFilesViewWithDifferentWixProject()
        {
            WixProject       differentProject         = WixBindingTestsHelper.CreateEmptyWixProject();
            PackageFilesView viewWithDifferentProject = new PackageFilesView(differentProject, workbench, new MockWixPackageFilesControl());

            workbench.ShowView(viewWithDifferentProject);

            CreateWorkbenchWindowForPackageFilesView(viewWithDifferentProject);
        }
        void CreatePackageFilesViewWithProjectToBeUsedWithViewSetupFilesCommandRunMethod()
        {
            project             = WixBindingTestsHelper.CreateEmptyWixProject();
            packageFilesControl = new MockWixPackageFilesControl();
            existingView        = new PackageFilesView(project, workbench, packageFilesControl);

            workbench.ShowView(existingView);

            CreateWorkbenchWindowForPackageFilesView(existingView);
        }
Esempio n. 25
0
        private WixProject OpenWixProject(string filename)
        {
            var wixProject = WixProject.Deserialize(filename, Terminal.HandleException);

            if (wixProject == null)
            {
                FileOpenFailed("Wix Project", filename);
            }
            return(wixProject);
        }
Esempio n. 26
0
        public void Init()
        {
            workbench = new MockWorkbench();
            factory   = new MockPackageFilesViewFactory();
            project   = WixBindingTestsHelper.CreateEmptyWixProject();

            ViewSetupFilesCommand viewCommand = new ViewSetupFilesCommand(factory, workbench);

            viewCommand.Run(project);
        }
Esempio n. 27
0
        public void SetUpFixture()
        {
            SD.InitializeForUnitTests();
            WixBindingTestsHelper.InitMSBuildEngine();

            info = new ProjectCreateInformation(MockSolution.Create(), new FileName(@"C:\Projects\Test\Test.wixproj"));
            info.RootNamespace = "Test";

            project = new WixProject(info);
        }
Esempio n. 28
0
        public void VariableValueUsingSharpDevelopConstant()
        {
            MSBuildEngine.MSBuildProperties.Add("MyAppBinPath", @"C:\Program Files\MyApp\bin");
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            p.SetProperty("DefineConstants", @" DATADIR = $(MyAppBinPath)\Bitmaps ");
            string variableValue = p.GetVariable("DATADIR");

            MSBuildEngine.MSBuildProperties.Remove("MyAppBinPath");
            Assert.AreEqual(@"C:\Program Files\MyApp\bin\Bitmaps", variableValue);
        }
        public void SetUpFixture()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            p.Name = "MySetup";
            view   = new MockWixPackageFilesView();
            view.ContextMenuEnabled = true;
            WixPackageFilesEditor editor = new WixPackageFilesEditor(view, this, this);

            editor.ShowFiles(p);
        }
        public void SetUpFixture()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            WixExtensionProjectItem compilerItem = new WixExtensionProjectItem(p);

            compilerItem.Include = @"$(WixToolPath)\WixNetFxExtension.dll";
            ProjectService.AddProjectItem(p, compilerItem);

            extensionItem = p.WixExtensions[0];
        }