示例#1
0
        public void SetUpFixture()
        {
            WixBindingTestsHelper.RegisterResourceStringsWithSharpDevelopResourceManager();

            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()
        {
            SD.InitializeForUnitTests();
            WixBindingTestsHelper.InitMSBuildEngine();

            // create the project.
            ProjectCreateInformation info = new ProjectCreateInformation(MockSolution.Create(), new FileName(@"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];
        }
示例#4
0
        public void TwoDefinedVariableNames()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            p.SetProperty("DefineConstants", "TEST=test;DATADIR=Bitmaps");
            Assert.AreEqual("Bitmaps", p.GetVariable("DATADIR"));
        }
        public void CreatingWixDocumentWithNullFileLoaderThrowsArgumentNullException()
        {
            IFileLoader fileLoader = null;
            WixProject  project    = WixBindingTestsHelper.CreateEmptyWixProject();

            Assert.Throws <ArgumentNullException>(delegate { WixDocument doc = new WixDocument(project, fileLoader); });
        }
        public void SetUpFixture()
        {
            SD.InitializeForUnitTests();
            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()
        {
            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 = "InvalidXml.wxs";
            ProjectService.AddProjectItem(p, item);

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

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

            WixDocument doc = new WixDocument(p);

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

            binaries = new WixBinaries(doc, this);
        }
示例#8
0
        public void VariableValueWithSpaces()
        {
            WixProject p = WixBindingTestsHelper.CreateEmptyWixProject();

            p.SetProperty("DefineConstants", " DATADIR = Bitmaps ");
            Assert.AreEqual("Bitmaps", p.GetVariable("DATADIR"));
        }
示例#9
0
        public void SetUpFixture()
        {
            SD.InitializeForUnitTests();
            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);
            }
        }
示例#10
0
        public void CreateWixExtensionProjectItem()
        {
            WixProject  p    = WixBindingTestsHelper.CreateEmptyWixProject();
            ProjectItem item = p.CreateProjectItem(new BuildItem("WixExtension", "DummyInclude"));

            Assert.IsInstanceOf(typeof(WixExtensionProjectItem), item);
        }
示例#11
0
        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);
        }
示例#12
0
        public void ShowFilesMethodProjectParameterSaved()
        {
            WixProject project = WixBindingTestsHelper.CreateEmptyWixProject();

            control.ShowFiles(project, null, null);
            Assert.AreSame(project, control.ShowFilesMethodProjectParameter);
        }
示例#13
0
        public void SetUpFixture()
        {
            WixXmlAttribute attribute = new WixXmlAttribute("Id", WixXmlAttributeType.FileName);

            propertyDescriptor = new WixXmlAttributePropertyDescriptor(attribute);
            editorAttribute    = WixBindingTestsHelper.GetEditorAttribute(propertyDescriptor.Attributes);
        }
        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 CanBuildWixProject()
        {
            WixProject            p       = WixBindingTestsHelper.CreateEmptyWixProject();
            WixProjectNodeBuilder builder = new WixProjectNodeBuilder();

            Assert.IsTrue(builder.CanBuildProjectTree(p));
        }
示例#16
0
        public void SetUpFixture()
        {
            WixBindingTestsHelper.InitMSBuildEngine();

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

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

            wixProject = new WixProjectWithOverriddenSave(info);

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

            // 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;
            wixLibraryNode       = (WixLibraryNode)wixLibraryFolderNode.Nodes[0];
        }
        public void NewWixExtensionProjectItem()
        {
            IProject p = WixBindingTestsHelper.CreateEmptyWixProject();
            WixExtensionProjectItem item = new WixExtensionProjectItem(p);

            Assert.AreEqual(WixItemType.Extension, item.ItemType);
        }
        public void SetUpFixture()
        {
            WixXmlAttribute attribute = new WixXmlAttribute("Id", WixXmlAttributeType.Text, new string[] { "a", "b" }, null);

            propertyDescriptor = new WixXmlAttributePropertyDescriptor(attribute);
            editorAttribute    = WixBindingTestsHelper.GetEditorAttribute(propertyDescriptor.Attributes);
        }
        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.CreateWixDialog("WelcomeDialog", new MockTextFileReader());

            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);
            }
        }
示例#20
0
        public void SetUpFixture()
        {
            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];
        }
示例#21
0
        public void Init()
        {
            workbench        = new MockWorkbench();
            project          = WixBindingTestsHelper.CreateEmptyWixProject();
            packageFilesView = new PackageFilesView(project, workbench);

            workbench.ActiveViewContent = packageFilesView;
        }
        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);
        }
        void CreatePackageFilesViewWithDifferentWixProject()
        {
            WixProject       differentProject         = WixBindingTestsHelper.CreateEmptyWixProject();
            PackageFilesView viewWithDifferentProject = new PackageFilesView(differentProject, workbench, new MockWixPackageFilesControl());

            workbench.ShowView(viewWithDifferentProject);

            CreateWorkbenchWindowForPackageFilesView(viewWithDifferentProject);
        }
示例#25
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());
        }
示例#26
0
        public void CloneIsNotNull()
        {
            IProject p = WixBindingTestsHelper.CreateEmptyWixProject();
            WixLibraryProjectItem item = new WixLibraryProjectItem(p);

            item.Include = "test.wixlib";

            Assert.IsNotNull(item.Clone());
        }
        public void GetActiveViewReturnsPackageFilesViewWhenActiveContentIsPackageFilesView()
        {
            WixProject project = WixBindingTestsHelper.CreateEmptyWixProject();

            using (PackageFilesView packageFilesView = new PackageFilesView(project, workbench)) {
                workbench.ActiveContent = packageFilesView;
                Assert.AreSame(packageFilesView, activePackageFilesView.GetActiveView());
            }
        }
示例#28
0
        public void Init()
        {
            workbench = new MockWorkbench();
            factory   = new MockPackageFilesViewFactory();
            project   = WixBindingTestsHelper.CreateEmptyWixProject();

            ViewSetupFilesCommand viewCommand = new ViewSetupFilesCommand(factory, workbench);

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

            workbench.ShowView(existingView);

            CreateWorkbenchWindowForPackageFilesView(existingView);
        }
        public void CanGetEditorAttributeFromCollection()
        {
            BindableAttribute bindableAttribute = new BindableAttribute(false);
            EditorAttribute   editorAttribute   = new EditorAttribute();

            Attribute[]         attributes          = new Attribute[] { bindableAttribute, editorAttribute };
            AttributeCollection attributeCollection = new AttributeCollection(attributes);

            Assert.AreSame(editorAttribute, WixBindingTestsHelper.GetEditorAttribute(attributeCollection));
        }