Exemple #1
0
        ProjectCreateParameters CreateParameters(string name, string value)
        {
            var parameters = new ProjectCreateParameters();

            parameters [name] = value;
            return(parameters);
        }
Exemple #2
0
        public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionHavingMultipleParameterConditionsSeparatedByComma_TemplateFilteredUsingAllParametersInCondition()
        {
            CreateCategories("android", "app", "general");
            CreateCategorizer();
            SolutionTemplate template = AddTemplate("template-id", "android/app/general");

            template.GroupId   = "console";
            template.Language  = "C#";
            template.Condition = "Device=MyDevice,SupportsSizeClasses=true";
            ProjectCreateParameters parameters = CreateParameters("Device", "MyDevice");

            parameters ["SupportsSizeClasses"] = true.ToString();

            CategorizeTemplates();

            TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First();
            SolutionTemplate firstTemplate   = generalCategory.Templates.FirstOrDefault();
            SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.AreEqual(template, matchedTemplate);
            parameters = CreateParameters("Device", "MyDevice");
            parameters ["SupportsSizeClasses"] = false.ToString();
            SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.IsNull(noMatchedTemplate);
        }
        public bool MoveToFirstPage(SolutionTemplate template, ProjectCreateParameters parameters)
        {
            Reset();

            if (!template.HasWizard)
            {
                return(false);
            }

            CurrentWizard = GetWizard(template.Wizard);
            if (CurrentWizard == null)
            {
                LoggingService.LogError("Unable to find project template wizard '{0}'.", template.Wizard);
                return(false);
            }

            CurrentWizard.Parameters = parameters;
            CurrentWizard.UpdateParameters(template);
            IsFirstPage       = true;
            CurrentPageNumber = 1;

            if (CurrentWizard.TotalPages == 0)
            {
                IsLastPage = true;
                return(false);
            }

            CurrentWizardPage = GetCurrentWizardPage();

            IsLastPage = CurrentWizard.TotalPages == 1;

            return(true);
        }
        public void GetCategorizedTemplates_TwoTemplatesWithGroupCondition_CanGetTemplateMatchingConditionFromAnyGroupedTemplate()
        {
            CreateCategories("android", "app", "general");
            CreateCategorizer();
            SolutionTemplate template1 = AddTemplate("template-id1", "android/app/general");

            template1.GroupId   = "console";
            template1.Language  = "C#";
            template1.Condition = "Device=IPhone";
            SolutionTemplate template2 = AddTemplate("template-id2", "android/app/general");

            template2.GroupId   = "console";
            template2.Language  = "C#";
            template2.Condition = "Device=IPad";
            ProjectCreateParameters ipadParameters   = CreateParameters("Device", "IPad");
            ProjectCreateParameters iphoneParameters = CreateParameters("Device", "IPhone");

            CategorizeTemplates();

            TemplateCategory generalCategory       = categorizedTemplates.First().Categories.First().Categories.First();
            SolutionTemplate firstTemplate         = generalCategory.Templates.FirstOrDefault();
            SolutionTemplate matchedIPadTemplate   = firstTemplate.GetTemplate("C#", ipadParameters);
            SolutionTemplate matchedIPhoneTemplate = firstTemplate.GetTemplate("C#", iphoneParameters);

            Assert.AreEqual(template2, matchedIPadTemplate);
            Assert.AreEqual(template1, matchedIPhoneTemplate);
            Assert.AreEqual(template2, matchedIPadTemplate.GetTemplate("C#", ipadParameters));
            Assert.AreEqual(template1, matchedIPadTemplate.GetTemplate("C#", iphoneParameters));
        }
Exemple #5
0
        public void GetCategorizedTemplates_TwoTemplatesWithGroupCondition_TemplateFilteredUsingTemplateParameters()
        {
            CreateCategories("android", "app", "general");
            CreateCategorizer();
            SolutionTemplate template1 = AddTemplate("template-id1", "android/app/general");

            template1.GroupId   = "console";
            template1.Language  = "C#";
            template1.Condition = "Device=IPhone";
            SolutionTemplate template2 = AddTemplate("template-id2", "android/app/general");

            template2.GroupId   = "console";
            template2.Language  = "C#";
            template2.Condition = "Device=IPad";
            ProjectCreateParameters parameters = CreateParameters("Device", "IPad");

            CategorizeTemplates();

            TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First();
            SolutionTemplate firstTemplate   = generalCategory.Templates.FirstOrDefault();
            SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            parameters.Clear();
            SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.AreEqual(template2, matchedTemplate);
            Assert.IsNull(noMatchedTemplate);
        }
 void CreateProvider()
 {
     template        = new SolutionTemplate("id", "name", "icon");
     template.Wizard = "wizard-id";
     parameters      = new ProjectCreateParameters();
     wizard          = new TestableTemplateWizard();
     provider        = new TestableTemplateWizardProvider();
     wizard          = provider.Wizard;
 }
Exemple #7
0
        public NewProjectConfiguration()
        {
            SolutionName = String.Empty;
            Location     = String.Empty;

            CreateProjectDirectoryInsideSolutionDirectory = true;

            CreateGitIgnoreFile = true;
            UseGit = true;

            Parameters = new ProjectCreateParameters();
        }
        public bool IsExcluded(ProjectCreateParameters projectCreateParameters)
        {
            if (String.IsNullOrEmpty(condition))
            {
                return(false);
            }

            if (templateParameters == null)
            {
                templateParameters = TemplateParameter.CreateParameters(condition).ToList();
            }

            return(templateParameters.Any(parameter => IsExcluded(parameter, projectCreateParameters)));
        }
        void AddAssemblyInfoFile(Project project)
        {
            var doc = new XmlDocument();

            doc.LoadXml("<FileTemplateReference TemplateID='CSharpAssemblyInfo' name='AssemblyInfo.cs' />");
            var fileTemplate = new FileTemplateReference();

            fileTemplate.Load(doc.DocumentElement, null);

            var parameters = new ProjectCreateParameters();

            parameters["UseCustomAssemblyInfoVersion"] = "true";
            parameters["AssemblyInfoVersion"]          = "1.0.0.0";

            fileTemplate.SetProjectTagModel(parameters);
            fileTemplate.AddToProject(project.ParentFolder, project, "C#", project.BaseDirectory, "");
            fileTemplate.SetProjectTagModel(null);
        }
Exemple #10
0
        public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionContainingExtraWhitespace_TemplateFilteredUsingTemplateParameters()
        {
            CreateCategories("android", "app", "general");
            CreateCategorizer();
            SolutionTemplate template = AddTemplate("template-id", "android/app/general");

            template.GroupId   = "console";
            template.Language  = "C#";
            template.Condition = " Device = MyDevice ";
            ProjectCreateParameters parameters = CreateParameters("Device", "MyDevice");

            CategorizeTemplates();

            TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First();
            SolutionTemplate firstTemplate   = generalCategory.Templates.FirstOrDefault();
            SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.AreEqual(template, matchedTemplate);
        }
Exemple #11
0
        public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionAndParameterNameAndValueHaveDifferentCase_TemplateFilteredUsingTemplateParametersIgnoringCase()
        {
            CreateCategories("android", "app", "general");
            CreateCategorizer();
            SolutionTemplate template = AddTemplate("template-id", "android/app/general");

            template.GroupId   = "console";
            template.Language  = "C#";
            template.Condition = "Device=MyDevice";
            ProjectCreateParameters parameters = CreateParameters("device", "mydevice");

            CategorizeTemplates();

            TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First();
            SolutionTemplate firstTemplate   = generalCategory.Templates.FirstOrDefault();
            SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.AreEqual(template, matchedTemplate);
            parameters = CreateParameters("device", "no-match");
            SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.IsNull(noMatchedTemplate);
        }
Exemple #12
0
        public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionAndParameterIsBoolean_TemplateFilteredUsingTemplateParameters()
        {
            CreateCategories("android", "app", "general");
            CreateCategorizer();
            SolutionTemplate template = AddTemplate("template-id", "android/app/general");

            template.GroupId   = "console";
            template.Language  = "C#";
            template.Condition = "SupportsSizeClasses=True";
            ProjectCreateParameters parameters = CreateParameters("SupportsSizeClasses", true.ToString());

            CategorizeTemplates();

            TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First();
            SolutionTemplate firstTemplate   = generalCategory.Templates.FirstOrDefault();
            SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.AreEqual(template, matchedTemplate);
            parameters.Clear();
            SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters);

            Assert.IsNull(noMatchedTemplate);
        }
 bool IsMatch(string language, ProjectCreateParameters parameters)
 {
     return((this.language == language) && !condition.IsExcluded(parameters));
 }
 public SolutionTemplate GetTemplate(string language, ProjectCreateParameters parameters)
 {
     return(GetTemplate(template => template.IsMatch(language, parameters)));
 }
 bool IsExcluded(TemplateParameter parameter, ProjectCreateParameters parameters)
 {
     return(!String.Equals(parameters [parameter.Name], parameter.Value, StringComparison.OrdinalIgnoreCase));
 }
Exemple #16
0
 static bool IsTemplateMatch(SolutionTemplate template, SolutionTemplate templateToMatch, string language, ProjectCreateParameters parameters)
 {
     return(template.Id == templateToMatch.Id &&
            template.Category == templateToMatch.Category &&
            template.GetTemplate(language, parameters) != null);
 }
 public void Init()
 {
     parameters = new ProjectCreateParameters();
 }