示例#1
0
            public void BasicPageControls()
            {
                CSProjectFile projectFile = new CSProjectFile()
                {
                    ClassList = new List <CSClass>()
                    {
                        new CSClass
                        {
                            ClassFullName = "Test1.TestClass1",
                            FieldList     = new List <CSField>()
                            {
                                new CSField {
                                    FieldName = "form1", ProtectionLevel = EnumProtectionLevel.Protected, TypeFullName = "global::System.Web.UI.HtmlControls.HtmlForm"
                                },
                                new CSField {
                                    FieldName = "_lblTest", ProtectionLevel = EnumProtectionLevel.Protected, TypeFullName = "global::System.Web.UI.WebControls.Label"
                                }
                            }
                        }
                    },
                    WebFormContainers = new List <WebFormContainer>()
                    {
                        new WebFormContainer
                        {
                            ClassFullName  = "Test1.TestClass1",
                            CodeBehindFile = "TestClass.aspx.cs",
                            FilePath       = "C:\\Test\\TestClass.aspx",
                            ContainerType  = EnumWebFormContainerType.WebPage,
                            Controls       = new List <WebFormServerControl>()
                            {
                                new WebFormServerControl {
                                    TagName = "form", ControlID = "form1"
                                },
                                new WebFormServerControl {
                                    TagName = "asp:label", ControlID = "_lblTest"
                                }
                            }
                        }
                    },
                    ClassFileDependencyList = new List <ClassFileDependency>()
                    {
                        new ClassFileDependency {
                            ClassFullName = "Test1.TestClass1", DependentUponFile = "TestClass.aspx"
                        }
                    }
                };
                var parser = new SourceWebModelParser();
                var result = parser.LoadFromProjectFile(projectFile, "C:\\Test\\Test.csproj");

                Assert.AreEqual(1, result.WebPageList.Count);
                Assert.AreEqual("/TestClass.aspx", result.WebPageList[0].PageUrl);
                Assert.AreEqual("Test1.TestClass1", result.WebPageList[0].ClassFullName);

                Assert.AreEqual(2, result.WebPageList[0].Controls.Count);
                Assert.AreEqual("System.Web.UI.HtmlControls.HtmlForm", result.WebPageList[0].Controls[0].ClassFullName);
                Assert.AreEqual("form1", result.WebPageList[0].Controls[0].FieldName);
                Assert.AreEqual("System.Web.UI.WebControls.Label", result.WebPageList[0].Controls[1].ClassFullName);
                Assert.AreEqual("_lblTest", result.WebPageList[0].Controls[1].FieldName);
            }
示例#2
0
        static void Main()
        {
            //string inputProject = @"C:\Users\admin\Dropbox\Code\screwturn-screwturn-wiki-4-cf9155b27d4c\WebApplication\WebApplication.csproj";
            string inputProjectPath = @"..\..\..\..\BugNet\src\BugNET_WAP\BugNET_WAP.csproj";
            //string outputProjectPath = @"C:\Users\admin\Dropbox\Code\MMDB.UITest\ScrewturnWikiProxySample\ScrewturnWikiProxySample.csproj";
            string outputProjectPath = @"..\..\..\BugNetProxySample\BugNetProxySample.csproj";
            var    sourceProjectFile = new ProjectParser().ParseFile(inputProjectPath);
            var    sourceModel       = new SourceWebModelParser().LoadFromProjectFile(sourceProjectFile, inputProjectPath);

            var targetProjectFile = new ProjectParser().ParseFile(outputProjectPath);
            var targetModel       = new TargetModelParser().LoadFromProjectFile(targetProjectFile, outputProjectPath);

            var comparison = new TargetModelGenerator().CompareProject(targetModel, sourceModel);

            new TargetModelWriter().ApplyChanges(comparison, outputProjectPath);

            //ProxyGenerator.UpdateProxyProject(outputProjectPath, sourceProject);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
示例#3
0
            public void BasicTest()
            {
                CSProjectFile projectFile = new CSProjectFile()
                {
                    RootNamespace = "Test.Namespace",
                    ClassList     = new List <CSClass>
                    {
                        new CSClass {
                            ClassFullName = "Test1.TestClass1", FileRelativePathList = new List <string> {
                                "TestClass1.aspx"
                            }
                        },
                        new CSClass {
                            ClassFullName = "Test1.TestMaster", FileRelativePathList = new List <string> {
                                "TestMasterPage.Master"
                            }
                        },
                        new CSClass {
                            ClassFullName = "Test1.TestUserControl", FileRelativePathList = new List <string> {
                                "TestUserControl.ascx"
                            }
                        }
                    },
                    WebFormContainers = new List <WebFormContainer>()
                    {
                        new WebFormContainer {
                            ClassFullName = "Test1.TestClass1", CodeBehindFile = "TestClass1.aspx.cs", ContainerType = EnumWebFormContainerType.WebPage, FilePath = "C:\\Test\\TestClass1.aspx"
                        },
                        new WebFormContainer {
                            ClassFullName = "Test1.TestMasterPage", CodeBehindFile = "TestMasterPage.Master.cs", ContainerType = EnumWebFormContainerType.MasterPage, FilePath = "C:\\Test\\TestMasterPage.Master"
                        },
                        new WebFormContainer {
                            ClassFullName = "Test1.TestUserControl", CodeBehindFile = "TestUserControl.ascx.cs", ContainerType = EnumWebFormContainerType.UserControl, FilePath = "C:\\Test\\TestUserControl.ascx"
                        }
                    },
                    ClassFileDependencyList = new List <ClassFileDependency>
                    {
                        new ClassFileDependency {
                            ClassFullName = "Test1.TestClass1", DependentUponFile = "TestClass1.aspx"
                        },
                        new ClassFileDependency {
                            ClassFullName = "Test1.TestMasterPage", DependentUponFile = "TestMasterPage.Master"
                        },
                        new ClassFileDependency {
                            ClassFullName = "Test1.TestUserControl", DependentUponFile = "TestUserControl.ascx"
                        }
                    }
                };
                SourceWebModelParser parser = new SourceWebModelParser();
                SourceWebProject     result = parser.LoadFromProjectFile(projectFile, "C:\\Test\\Test.csproj");

                Assert.IsNotNull(result);
                Assert.AreEqual(projectFile.RootNamespace, result.RootNamespace);

                Assert.AreEqual(1, result.WebPageList.Count);
                Assert.AreEqual("Test1.TestClass1", result.WebPageList[0].ClassFullName);
                Assert.AreEqual("/TestClass1.aspx", result.WebPageList[0].PageUrl);

                Assert.AreEqual(1, result.MasterPageList.Count);
                Assert.AreEqual("Test1.TestMasterPage", result.MasterPageList[0].ClassFullName);
                Assert.AreEqual("/TestMasterPage.Master", result.MasterPageList[0].PageUrl);

                Assert.AreEqual(1, result.UserControlList.Count);
                Assert.AreEqual("Test1.TestUserControl", result.UserControlList[0].ClassFullName);
            }