public static async Task <IEnumerable <object[]> > GetProjectTemplatesAsync()
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                await InitializeTemplatesForLanguageAsync(new LegacyTemplatesSource(), language);

                var projectTemplates = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                              t.GetLanguage() == language);

                foreach (var projectTemplate in projectTemplates)
                {
                    var projectTypeList = projectTemplate.GetProjectTypeList();

                    foreach (var projectType in projectTypeList)
                    {
                        var frameworks = GenComposer.GetSupportedFx(projectType);

                        foreach (var framework in frameworks)
                        {
                            result.Add(new object[] { projectType, framework, language });
                        }
                    }
                }
            }

            return(result);
        }
Example #2
0
        protected static IEnumerable <object[]> GetAllProjectTemplates()
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                SetCurrentLanguage(language);

                foreach (var platform in Platforms.GetAllPlatforms())
                {
                    SetCurrentPlatform(platform);

                    var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(platform)
                                       .Where(m => !string.IsNullOrEmpty(m.Description))
                                       .Select(m => m.Name);

                    foreach (var projectType in projectTypes)
                    {
                        var targetFrameworks = GenContext.ToolBox.Repo.GetFrontEndFrameworks(platform, projectType)
                                               .Select(m => m.Name).ToList();

                        foreach (var framework in targetFrameworks)
                        {
                            result.Add(new object[] { projectType, framework, platform, language });
                        }
                    }
                }
            }

            return(result);
        }
Example #3
0
 public static IEnumerable <object[]> GetAllLanguages()
 {
     foreach (var language in ProgrammingLanguages.GetAllLanguages())
     {
         yield return(new object[] { language });
     }
 }
Example #4
0
        public static IEnumerable <object[]> GetProjectTemplates()
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                if (language == ProgrammingLanguages.Any)
                {
                    continue;
                }

                Configuration.Current.CdnUrl = "https://wtsrepository.blob.core.windows.net/pro/";

                InitializeTemplates(new LegacyTemplatesSourceV2(language), language);

                var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(Platforms.Uwp)
                                   .Where(m => !string.IsNullOrEmpty(m.Description))
                                   .Select(m => m.Name);

                foreach (var projectType in projectTypes)
                {
                    var targetFrameworks = GenContext.ToolBox.Repo.GetFrontEndFrameworks(Platforms.Uwp, projectType)
                                           .Select(m => m.Name).ToList();

                    foreach (var framework in targetFrameworks)
                    {
                        result.Add(new object[] { projectType, framework, Platforms.Uwp, language });
                    }
                }
            }

            return(result);
        }
Example #5
0
        public static IEnumerable <object[]> GetPageAndFeatureTemplates()
        {
            InitializeTemplates(new LocalTemplatesSource("TstBld"));

            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                var projectTypes = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                          t.GetLanguage() == language).SelectMany(p => p.GetProjectTypeList()).Distinct();

                foreach (var projectType in projectTypes)
                {
                    var frameworks = GenComposer.GetSupportedFx(projectType);

                    foreach (var framework in frameworks)
                    {
                        var itemTemplates = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetFrameworkList().Contains(framework) &&
                                                                                   (t.GetTemplateType() == TemplateType.Page || t.GetTemplateType() == TemplateType.Feature) &&
                                                                                   t.GetLanguage() == language &&
                                                                                   !t.GetIsHidden());

                        foreach (var itemTemplate in itemTemplates)
                        {
                            result.Add(new object[]
                                       { itemTemplate.Name, projectType, framework, itemTemplate.Identity, language });
                        }
                    }
                }
            }

            return(result);
        }
        public static IEnumerable <object[]> GetProjectTemplates()
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                Configuration.Current.CdnUrl = "https://wtsrepository.blob.core.windows.net/pro/";

                InitializeTemplates(new LegacyTemplatesSourceV2(), language);

                // TODO: Re-enable for all platforms
                ////foreach (var language in Platforms.GetAllPlarforms())
                var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes()
                                   .Where(m => !string.IsNullOrEmpty(m.Description))
                                   .Select(m => m.Name);

                foreach (var projectType in projectTypes)
                {
                    // TODO: Re-enable for all platforms
                    // var projectFrameworks = GenComposer.GetSupportedFx(projectType, string.Empty);
                    var targetFrameworks = GenContext.ToolBox.Repo.GetFrameworks()
                                           .Select(m => m.Name).ToList();

                    foreach (var framework in targetFrameworks)
                    {
                        result.Add(new object[] { projectType, framework, Platforms.Uwp, language });
                    }
                }
            }

            return(result);
        }
Example #7
0
        public static IEnumerable <object[]> GetProjectTemplates()
        {
            InitializeTemplates(new LocalTemplatesSource("TstBld"));

            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                SetCurrentLanguage(language);
                var projectTypes = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                          t.GetLanguage() == language).SelectMany(p => p.GetProjectTypeList()).Distinct();

                foreach (var projectType in projectTypes)
                {
                    var frameworks = GenComposer.GetSupportedFx(projectType);

                    foreach (var framework in frameworks)
                    {
                        result.Add(new object[] { projectType, framework, language });
                    }
                }
            }

            return(result);
        }
Example #8
0
        public static async Task <IEnumerable <object[]> > GetProjectTemplatesAsync()
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                Configuration.Current.CdnUrl = "https://wtsrepository.blob.core.windows.net/pro/";

                await InitializeTemplatesAsync(new LegacyTemplatesSourceV2(), language);

                var projectTypes = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                          t.GetLanguage() == language).SelectMany(p => p.GetProjectTypeList()).Distinct();

                foreach (var projectType in projectTypes)
                {
                    var frameworks = GenComposer.GetSupportedFx(projectType);

                    foreach (var framework in frameworks)
                    {
                        result.Add(new object[] { projectType, framework, language });
                    }
                }
            }

            return(result);
        }
        public static IEnumerable <object[]> GetProjectTemplates()
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                Configuration.Current.CdnUrl = "https://wtsrepository.blob.core.windows.net/pro/";

                InitializeTemplates(new LegacyTemplatesSourceV2(), language);

                var projectTypes = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                          t.GetLanguage() == language).SelectMany(p => p.GetProjectTypeList()).Distinct();

                foreach (var projectType in projectTypes)
                {
                    var frameworks = GenComposer.GetSupportedFx(projectType);

                    foreach (var framework in frameworks)
                    {
                        // See https://github.com/Microsoft/WindowsTemplateStudio/issues/1985
                        if (framework == "MVVMLight")
                        {
                            continue;
                        }

                        result.Add(new object[] { projectType, framework, language });
                    }
                }
            }

            return(result);
        }
Example #10
0
        public static IEnumerable <object[]> GetProjectTemplates(string frameworkFilter, string programmingLanguage, string selectedPlatform)
        {
            InitializeTemplates(new LocalTemplatesSource(ShortFrameworkName(frameworkFilter)));

            List <object[]> result = new List <object[]>();

            var languagesOfInterest = ProgrammingLanguages.GetAllLanguages().ToList();

            if (!string.IsNullOrWhiteSpace(programmingLanguage))
            {
                languagesOfInterest.Clear();
                languagesOfInterest.Add(programmingLanguage);
            }

            var platformsOfInterest = Platforms.GetAllPlatforms().ToList();

            if (!string.IsNullOrWhiteSpace(selectedPlatform))
            {
                platformsOfInterest.Clear();
                platformsOfInterest.Add(selectedPlatform);
            }

            foreach (var language in languagesOfInterest)
            {
                SetCurrentLanguage(language);
                foreach (var platform in platformsOfInterest)
                {
                    SetCurrentPlatform(platform);
                    var templateProjectTypes = GenComposer.GetSupportedProjectTypes(platform);

                    var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(platform)
                                       .Where(m => templateProjectTypes.Contains(m.Name) && !string.IsNullOrEmpty(m.Description))
                                       .Select(m => m.Name);

                    foreach (var projectType in projectTypes)
                    {
                        var projectFrameworks = GenComposer.GetSupportedFx(projectType, platform);

                        var targetFrameworks = GenContext.ToolBox.Repo.GetFrameworks(platform)
                                               .Where(m => projectFrameworks.Contains(m.Name) && m.Name == frameworkFilter)
                                               .Select(m => m.Name)
                                               .ToList();

                        foreach (var framework in targetFrameworks)
                        {
                            result.Add(new object[] { projectType, framework, platform, language });
                        }
                    }
                }
            }

            return(result);
        }
        protected static IEnumerable <object[]> GetPageAndFeatureTemplates(string frameworkFilter)
        {
            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                SetCurrentLanguage(language);
                foreach (var platform in Platforms.GetAllPlatforms())
                {
                    SetCurrentPlatform(platform);
                    var templateProjectTypes = GenComposer.GetSupportedProjectTypes(platform);

                    var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(platform)
                                       .Where(m => templateProjectTypes.Contains(m.Name) && !string.IsNullOrEmpty(m.Description))
                                       .Select(m => m.Name);

                    foreach (var projectType in projectTypes)
                    {
                        var projectFrameworks = GenComposer.GetSupportedFx(projectType, platform);

                        var targetFrameworks = GenContext.ToolBox.Repo.GetFrameworks(platform)
                                               .Where(m => projectFrameworks.Contains(m.Name) && m.Name == frameworkFilter)
                                               .Select(m => m.Name).ToList();

                        foreach (var framework in targetFrameworks)
                        {
                            var itemTemplates = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetFrameworkList().Contains(framework) &&
                                                                                       (t.GetTemplateType() == TemplateType.Page || t.GetTemplateType() == TemplateType.Feature) &&
                                                                                       t.GetPlatform() == platform &&
                                                                                       t.GetLanguage() == language &&
                                                                                       !t.GetIsHidden());

                            foreach (var itemTemplate in itemTemplates)
                            {
                                result.Add(new object[]
                                {
                                    itemTemplate.Name,
                                    projectType,
                                    framework,
                                    platform,
                                    itemTemplate.Identity,
                                    language,
                                });
                            }
                        }
                    }
                }
            }

            return(result);
        }
Example #12
0
        public static IEnumerable <object[]> GetProjectTemplates(string frameworkFilter, string programmingLanguage, string selectedPlatform)
        {
            InitializeTemplates(new LocalTemplatesSource(null, ShortFrameworkName(frameworkFilter)));

            List <object[]> result = new List <object[]>();

            var languagesOfInterest = ProgrammingLanguages.GetAllLanguages().ToList();

            if (!string.IsNullOrWhiteSpace(programmingLanguage))
            {
                languagesOfInterest.Clear();
                languagesOfInterest.Add(programmingLanguage);
            }

            var platformsOfInterest = Platforms.GetAllPlatforms().ToList();

            if (!string.IsNullOrWhiteSpace(selectedPlatform))
            {
                platformsOfInterest.Clear();
                platformsOfInterest.Add(selectedPlatform);
            }

            foreach (var language in languagesOfInterest)
            {
                SetCurrentLanguage(language);
                foreach (var platform in platformsOfInterest)
                {
                    SetCurrentPlatform(platform);

                    if (platform == Platforms.WinUI)
                    {
                        var appModels = AppModels.GetAllAppModels().ToList();
                        foreach (var appModel in appModels)
                        {
                            if (appModel == AppModels.Desktop)
                            {
                                result.AddRange(GetContextOptions(frameworkFilter, language, platform, appModel));
                            }
                        }
                    }
                    else
                    {
                        result.AddRange(GetContextOptions(frameworkFilter, language, platform, string.Empty));
                    }
                }
            }
            return(result);
        }
Example #13
0
        public void GetScreenshots_AddFeature_CSandVB_AllCultures()
        {
            var testOutputRoot = GetRootFolderForTestOutput();

            foreach (var culture in AllVsCultures)
            {
                foreach (var progLang in ProgrammingLanguages.GetAllLanguages())
                {
                    ForEachStepInAddFeatureWizard(culture, progLang, includeDetails: false, action: pageName =>
                    {
                        TakeScreenshot(Path.Combine(testOutputRoot, $"{culture}_{progLang}_{Uri.EscapeUriString(pageName)}.png"));
                    });
                }
            }

            Assert.NotEmpty(Directory.GetFiles(testOutputRoot));
        }
Example #14
0
        public static async Task <IEnumerable <object[]> > GetPageAndFeatureTemplatesAsync(string frameworkFilter)
        {
            await InitializeTemplatesAsync(new LocalTemplatesSource(ShortFrameworkName(frameworkFilter)));

            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                SetCurrentLanguage(language);

                var projectTemplates = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                              t.GetFrameworkList().Contains(frameworkFilter) && t.GetLanguage() == language);

                foreach (var projectTemplate in projectTemplates)
                {
                    var projectTypeList = projectTemplate.GetProjectTypeList();

                    foreach (var projectType in projectTypeList)
                    {
                        var frameworks = GenComposer.GetSupportedFx(projectType).Where(f => f == frameworkFilter);

                        foreach (var framework in frameworks)
                        {
                            var itemTemplates = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetFrameworkList().Contains(framework) &&
                                                                                       (t.GetTemplateType() == TemplateType.Page || t.GetTemplateType() == TemplateType.Feature) &&
                                                                                       t.GetLanguage() == language &&
                                                                                       !t.GetIsHidden());

                            foreach (var itemTemplate in itemTemplates)
                            {
                                result.Add(new object[]
                                           { itemTemplate.Name, projectType, framework, itemTemplate.Identity, language });
                            }
                        }
                    }
                }
            }

            return(result);
        }
Example #15
0
        public static async Task <IEnumerable <object[]> > GetProjectTemplatesAsync(string frameworkFilter, string programmingLanguage)
        {
            await InitializeTemplatesAsync(new LocalTemplatesSource(ShortFrameworkName(frameworkFilter)));

            List <object[]> result = new List <object[]>();

            var languagesOfInterest = ProgrammingLanguages.GetAllLanguages().ToList();

            if (!string.IsNullOrWhiteSpace(programmingLanguage))
            {
                languagesOfInterest.Clear();
                languagesOfInterest.Add(programmingLanguage);
            }

            foreach (var language in languagesOfInterest)
            {
                SetCurrentLanguage(language);

                var projectTemplates = GenContext.ToolBox.Repo.GetAll().Where(t => t.GetTemplateType() == TemplateType.Project &&
                                                                              t.GetLanguage() == language && t.GetFrameworkList().Contains(frameworkFilter));

                foreach (var projectTemplate in projectTemplates)
                {
                    var projectTypeList = projectTemplate.GetProjectTypeList();

                    foreach (var projectType in projectTypeList)
                    {
                        var frameworks = GenComposer.GetSupportedFx(projectType).Where(f => f == frameworkFilter);

                        foreach (var framework in frameworks)
                        {
                            result.Add(new object[] { projectType, framework, language });
                        }
                    }
                }
            }

            return(result);
        }
        public static IEnumerable <object[]> GetProjectTemplates()
        {
            InitializeTemplates(new LocalTemplatesSource("TestGen"));

            List <object[]> result = new List <object[]>();

            foreach (var language in ProgrammingLanguages.GetAllLanguages())
            {
                SetCurrentLanguage(language);

                foreach (var platform in Platforms.GetAllPlatforms())
                {
                    SetCurrentPlatform(platform);
                    var templateProjectTypes = GenComposer.GetSupportedProjectTypes(platform);

                    var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(platform)
                                       .Where(m => templateProjectTypes.Contains(m.Name) && !string.IsNullOrEmpty(m.Description))
                                       .Select(m => m.Name);

                    foreach (var projectType in projectTypes)
                    {
                        var projectFrameworks = GenComposer.GetSupportedFx(projectType, platform);

                        var targetFrameworks = GenContext.ToolBox.Repo.GetFrameworks(platform)
                                               .Where(m => projectFrameworks.Contains(m.Name))
                                               .Select(m => m.Name).ToList();

                        foreach (var framework in targetFrameworks)
                        {
                            result.Add(new object[] { projectType, framework, platform, language });
                        }
                    }
                }
            }

            return(result);
        }
Example #17
0
        public static IEnumerable <object[]> GetProjectTemplates(string frameworkFilter, string programmingLanguage, string selectedPlatform)
        {
            InitializeTemplates(new LocalTemplatesSource(null, ShortFrameworkName(frameworkFilter)));

            List <object[]> result = new List <object[]>();

            var languagesOfInterest = ProgrammingLanguages.GetAllLanguages().ToList();

            if (!string.IsNullOrWhiteSpace(programmingLanguage))
            {
                languagesOfInterest.Clear();
                languagesOfInterest.Add(programmingLanguage);
            }

            var platformsOfInterest = Platforms.GetAllPlatforms().ToList();

            if (!string.IsNullOrWhiteSpace(selectedPlatform))
            {
                platformsOfInterest.Clear();
                platformsOfInterest.Add(selectedPlatform);
            }

            foreach (var language in languagesOfInterest)
            {
                SetCurrentLanguage(language);
                foreach (var platform in platformsOfInterest)
                {
                    SetCurrentPlatform(platform);

                    var appModels = AppModels.GetAllAppModels().ToList();
                    foreach (var appModel in appModels)
                    {
                        var context = new UserSelectionContext(language, platform);

                        if (platform == Platforms.WinUI)
                        {
                            context.AddAppModel(appModel);
                        }

                        var projectTypes = GenContext.ToolBox.Repo.GetProjectTypes(context)
                                           .Where(m => !string.IsNullOrEmpty(m.Description))
                                           .Select(m => m.Name);



                        foreach (var projectType in projectTypes)
                        {
                            context.ProjectType = projectType;
                            var targetFrameworks = GenContext.ToolBox.Repo.GetFrontEndFrameworks(context)
                                                   .Where(m => m.Name == frameworkFilter)
                                                   .Select(m => m.Name)
                                                   .ToList();

                            foreach (var framework in targetFrameworks)
                            {
                                if (platform == Platforms.WinUI)
                                {
                                    result.Add(new object[] { projectType, framework, platform, language, appModel });
                                }
                                else
                                {
                                    result.Add(new object[] { projectType, framework, platform, language });
                                }
                            }
                        }
                    }
                }
            }

            return(result);
        }