Ejemplo n.º 1
0
        public ActionResult CRUDEdit()
        {
            string crudId     = Request.QueryString[NamingCenter.PARAM_KEY_NAME];
            string reGenerate = Request.QueryString["ReGenerate"];
            string id         = Request.QueryString["Id"];
            var    model      = new CRUDEntity();

            if (reGenerate.IsNotNullOrEmpty() && reGenerate.Equals("true"))
            {
                if (crudId.IsNotNullOrEmpty())
                {
                    ViewData[NamingCenter.PARAM_FORM_VIEW_MODE] = Request.QueryString[NamingCenter.PARAM_FORM_VIEW_MODE];
                    var pageGenerator = new PageGenerator()
                    {
                        TableName = crudId
                    };
                    model    = pageGenerator.GetCRUDEntity();
                    model.Id = id;
                }
            }
            else
            {
                if (crudId.IsNotNullOrEmpty())
                {
                    ViewData[NamingCenter.PARAM_FORM_VIEW_MODE] = "Edit";
                    model = DBContext <CRUDEntity> .Instance.FirstOrDefault(o => o.Id.Equals(crudId, StringComparison.OrdinalIgnoreCase));
                }
                else
                {
                    ViewData[NamingCenter.PARAM_FORM_VIEW_MODE] = "Insert";
                }
            }
            return(View(model));
        }
Ejemplo n.º 2
0
        static void Main()
        {
            bool launchInBrowser = true;

            PageGenerator.GenerateReportPageUserOwnsData(launchInBrowser);
            //PageGenerator.GenerateReportPageAppOwnsData(launchInBrowser);
            //PageGenerator.GenerateDashboardPage(launchInBrowser);
            //PageGenerator.GenerateDashboardTilePage(launchInBrowser);
            //PageGenerator.GenerateQnaPage(launchInBrowser);
            //PageGenerator.GenerateReportPageEditMode(launchInBrowser);
            //PageGenerator.GenerateReportWithToolbarPage(launchInBrowser);
            //PageGenerator.GenerateNewReportPage(launchInBrowser);
            //PageGenerator.GenerateNewReportPageWithSaveAsRedirect(launchInBrowser);
            //PageGenerator.GenerateReportPageWithTransparentBackground(launchInBrowser);
            //PageGenerator.GenerateReportPageWithThemeLoading(launchInBrowser);
            //PageGenerator.GenerateReportPageWithContrastMode(launchInBrowser);
            //PageGenerator.GenerateReportPageWithLocalizedLanguage(launchInBrowser);
            //PageGenerator.GenerateReportWithEventLogging(launchInBrowser);
            //PageGenerator.GenerateReportWithPageNavigation(launchInBrowser);
            //PageGenerator.GenerateReportWithBookmarks(launchInBrowser);
            //PageGenerator.GenerateReportWithBookmarkPlayMode(launchInBrowser);
            //PageGenerator.GenerateReportWithBookmarkCarousel(launchInBrowser);
            //PageGenerator.GenerateReportWithCustomFiltering(launchInBrowser);
            //PageGenerator.GenerateReportPageWithPhasedLoading(launchInBrowser);
            //PageGenerator.GenerateReportPageWithWhiteLabelLoading(launchInBrowser);
            //PageGenerator.GenerateReportPageWithBootstrapOptimization(launchInBrowser);
            //PageGenerator.GenerateReportWithContextMenusPage(launchInBrowser);
            //PageGenerator.GenerateReportWithCustomExportCommand(launchInBrowser);
            //PageGenerator.GenerateReportInspectorPage(launchInBrowser);
            //PageGenerator.GenerateReportVisualPage(launchInBrowser);
            //PageGenerator.GenerateReportWithCustomLayout(launchInBrowser);
            //PageGenerator.GenerateReportWithRls(launchInBrowser);
            //PageGenerator.GenerateReportWithCorrelationId(launchInBrowser);
            //PageGenerator.GenerateReportWithDynamicBinding(launchInBrowser);
        }
Ejemplo n.º 3
0
        private void DoTrack(string data, string trackPath, bool writeJs)
        {
            string[]  objCmpDat = data.Split('-');
            int       idx       = 0;
            TrackUnit unit      = null;

            foreach (string d in objCmpDat)
            {
                idx = d.IndexOf('!');
                if (idx > 0)
                {
                    unit = new TrackUnit(d.Substring(0, idx), d.Substring(idx + 1));
                    if (unit.IsUpdatable() == true)
                    {
                        unit.SetRecord(trackPath);
                        if (GetSiteEnableAutoUpdate() == true)
                        {
                            PageGenerator.GeneratorByPath(trackPath);
                            //if (writeJs == true)
                            //{
                            //    Response.Write("location.href = location.href;");
                            //}
                        }
                        break;
                    }
                }
            }

            if (writeJs == true)
            {
                //Response.Write("alert('" + trackPath + "');");
            }
        }
Ejemplo n.º 4
0
        static void MainX()
        {
            string result = RunProfile.Execute("2014 Proleague Overall.xml");

            LiquipediaClientEx lpc = new LiquipediaClientEx();

            lpc.Login("", "");
            string token = lpc.GetEditToken();

            lpc.EditPage("User:Xpaperclip/Carno/Proleague", result, "test", token);
            return;

            DataStore data = new DataStore();

            DataStore.LoadRewriter("playerpka.dict", data.IdRewriter);
            DataStore.LoadRewriter("mapakas.dict", data.MapRewriter);

            data.Accumulate("http://wiki.teamliquid.net/starcraft2/2013_Global_StarCraft_II_Team_League_Season_2/Round_1");

            PageGenerator pagegen = PageGenerator.FromXml(System.Xml.Linq.XDocument.Load("pages/Team League (All-Kill Format).xml"));
            string        emit    = pagegen.Emit(data);

            // push update

            UI.ShowDialog(new UIDocument("emit", emit),
                          new UIDocument("html", LiquipediaClientEx.RequestParse(emit)),
                          new UIDocument("xml", pagegen.Save().ToString()));
        }
Ejemplo n.º 5
0
        public JsonResult GenerateCRUD()
        {
            string on            = "on";
            string IsCRUD        = Request.Form["IsCRUD"];
            string CRUDName      = Request.Form["CRUDName"];
            string IsList        = Request.Form["IsList"];
            string ListName      = Request.Form["ListName"];
            string IsEdit        = Request.Form["IsEdit"];
            string EditName      = Request.Form["EditName"];
            string tableName     = Request.Form["TableName"];
            string pageTitle     = Request.Form["PageTitle"];
            var    pageGenerator = new PageGenerator()
            {
                CRUDName     = CRUDName,
                EditPageName = EditName,
                ListPageName = ListName,
                TableName    = tableName,
                PageTitle    = pageTitle
            };

            pageGenerator.AddCRUD();
            if (IsList == on)
            {
                pageGenerator.AddListPage();
            }
            if (IsEdit == on)
            {
                pageGenerator.AddEditPage();
            }
            return(Json(true));
        }
Ejemplo n.º 6
0
        private void btnRun_Click(object sender, EventArgs e)
        {
            DataStore data = new DataStore();

            DataStore.LoadRewriter("playerpka.dict", data.IdRewriter);
            DataStore.LoadRewriter("mapakas.dict", data.MapRewriter);

            foreach (ListViewItem item in lvwList.CheckedItems)
            {
                try
                {
                    data.Accumulate(item.Text);
                    item.ForeColor = Color.Green;
                }
                catch (Exception ex)
                {
                    // just swallow errors for now
                    item.ForeColor = Color.Red;
                }
                Application.DoEvents();
            }

            PageGenerator pagegen = PageGenerator.FromXml(System.Xml.Linq.XDocument.Load("pages/" + cmbPageLayouts.SelectedItem + ".xml"));
            string        result  = pagegen.Emit(data);

            UI.ShowDialog(new UIDocument("Statistics", result));

            foreach (ListViewItem item in lvwList.CheckedItems)
            {
                item.ForeColor = lvwList.ForeColor;
            }
        }
Ejemplo n.º 7
0
        private static string ReplaceHtml(PageGenerator PageGenerator, Match tag, string mainPageID, string html, bool isBeginTag)
        {
            var pageID = tag.Groups[1].Value.NormalizePath();

            if (!PageGenerator.Pages.ContainsKey(pageID))
            {
                Logger.LogError(string.Format(ClassNotFoundError, mainPageID, pageID));
                return(html);
            }

            var replacement = PageGenerator.Pages[pageID].RenderedHtml;
            var match       = Regex.Match(replacement, k_RenderSectionTag, RegexOptions.IgnoreCase);

            if (match == null || match.Captures.Count == 0 || match.Captures[0].Index == -1)
            {
                Logger.LogError(string.Format(SurroundNotFoundError, mainPageID, pageID));
                return(html);
            }

            var index = match.Captures[0].Index;

            if (isBeginTag)
            {
                replacement = replacement.Substring(0, index); // insert part from beginning to content tag
            }
            else
            {
                index       = index + match.Captures[0].Length; // insert part from content tag till the end
                replacement = replacement.Substring(index, replacement.Length - index);
            }

            return(html.Replace(tag.Index, tag.Length, replacement));
        }
Ejemplo n.º 8
0
        public static string HandleReportRequest(byte[] body, bool zipped, out int statusCode)
        {
            var html     = "";
            var reportId = "";

            try
            {
                var json = "";

                if (zipped)
                {
                    json = body.Decompress();
                }
                else
                {
                    json = Encoding.UTF8.GetString(body);
                }

                // Remove BOM char if present.
                if (json[0] == 65279)
                {
                    json = json.Remove(0, 1);
                }

                html = PageGenerator.GenerateReportPage(json, out reportId);
            }
            catch (PageGenerator.ParsingException ex)
            {
                statusCode = 400;
                return(ex.Message);
            }
            catch (Exception)
            {
                statusCode = 400;
                return("Invalid report JSON received.");
            }

            try
            {
                var dataDir = Path.Combine(Config.ContentDir, "reports");

                if (!Directory.Exists(dataDir))
                {
                    Directory.CreateDirectory(dataDir);
                }

                var file = Path.Combine(dataDir, reportId + ".html");

                File.WriteAllText(file, html);

                statusCode = 200;
                return($"http://{Config.FQD}/{reportId}");
            }
            catch (Exception)
            {
                statusCode = 500;
                return($"An unknown error occurred while processing report {reportId}.");
            }
        }
Ejemplo n.º 9
0
    private void OnEnable()
    {
        pg = (PageGenerator)target;

        if (!pg.ps)
        {
            pg.ps = GameObject.FindGameObjectWithTag("PlatformSystem").GetComponent <PlatformSystem>();
        }
    }
Ejemplo n.º 10
0
        public void MissingInclude_ReportsError()
        {
            var page = PageGenerator.NewPage("IncludePage.html", k_IncludePage_1);

            page.Render();

            CheckErrorCount(1);
            CheckFirstErrorRegex($"Class not found.*TestPage.html");
        }
        /// <summary>
        /// 生成实体代码
        /// </summary>
        /// <param name="project"></param>
        /// <param name="schema"></param>
        public override void CreateEntityCode(ProjectConfig project, EntityConfig schema)
        {
            var pg = new PageGenerator
            {
                Entity  = schema,
                Project = schema.Parent,
            };

            pg.CreateBaseCode(project.PagePath);
        }
Ejemplo n.º 12
0
        public void When_rendering_page_generator_Then_builds_the_right_pages(int currentPage, int perPage, int total, int?previous, int?next, int last)
        {
            var temp = new List <string>()
            {
                "one", "two", "three"
            };
            var results = new ResultPage <string>(temp, currentPage, perPage, total);
            var control = new PageGenerator(results, p => new A(p.Text, "http://wot.com/?page=" + p.Page).ToHtmlString())
            {
                CssClass = "loller-skates"
            };

            string actual  = control.ToString();
            var    element = this.GetHtmlNode(actual);

            Assert.That(element.Name, Is.EqualTo("span"));
            Assert.That(element.Attributes["class"].Value, Is.EqualTo("loller-skates pager"));

            var nodes = element.ChildNodes.Where(c => c.NodeType != HtmlNodeType.Text).ToList();

            HtmlNode previousPageNode = null;
            HtmlNode nextPageNode     = null;

            if (currentPage > ResultPage <string> .ValueOfFirstPage)
            {
                previousPageNode = nodes[0];
                nodes.RemoveAt(0);
                Assert.That(previousPageNode.InnerText, Is.EqualTo("PreviousPage"));
            }
            if (currentPage < results.LastPage)
            {
                nextPageNode = nodes[nodes.Count - 1];
                nodes.RemoveAt(nodes.Count - 1);
                Assert.That(nextPageNode.InnerText, Is.EqualTo("NextPage"));
            }

            Assert.That(nodes.Count, Is.EqualTo(results.LastPage));
            for (int i = 0; i < results.LastPage; i++)
            {
                var node  = nodes[i];
                int value = i + 1;
                Assert.That(node.InnerText, Is.EqualTo(value.ToString()));
                if (value == currentPage)
                {
                    Assert.That(node.Name, Is.EqualTo("span"));
                    Assert.That(node.Attributes["class"].Value, Is.EqualTo("current-page"));
                }
                else
                {
                    Assert.That(node.Name, Is.EqualTo("a"));
                    Assert.That(node.Attributes["href"].Value, Is.EqualTo("http://wot.com/?page=" + value));
                }
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 生成实体代码
        /// </summary>
        /// <param name="project"></param>
        /// <param name="schema"></param>
        public override void CreateEntityCode(ProjectConfig project, EntityConfig schema)
        {
            var pg = new PageGenerator
            {
                Entity  = schema,
                Project = schema.Parent,
            };

            pg.CreateBaseCode(project.FormatPath("Web"));
            pg.CreateExtendCode(project.FormatPath("Page"));
        }
Ejemplo n.º 14
0
        public static string HandleReportRequest(byte[] body, bool zipped, out int statusCode)
        {
            var roomID  = "";
            var batchID = "";
            var html    = "";

            try
            {
                var json = "";

                if (zipped)
                {
                    json = body.Decompress();
                }
                else
                {
                    json = Encoding.UTF8.GetString(body);
                }

                var jObj = JSON.Deserialize <Dictionary <string, object> >(json);
                roomID  = jObj["room_id"].ToString();
                batchID = jObj["batch_nr"].ToString();

                html = PageGenerator.GenerateReportPage(json);
            }
            catch (Exception)
            {
                statusCode = 400;
                return("Invalid report JSON received.");
            }

            try
            {
                var dataDir = Path.Combine(Config.ContentDir, roomID);

                if (!Directory.Exists(dataDir))
                {
                    Directory.CreateDirectory(dataDir);
                }

                var file = Path.Combine(dataDir, batchID + ".html");

                File.WriteAllText(file, html);

                statusCode = 200;
                return($"http://{Config.FQD}/{roomID}/{batchID}");
            }
            catch (Exception)
            {
                statusCode = 500;
                return($"An unknown error occurred while processing report {roomID}/{batchID}.");
            }
        }
Ejemplo n.º 15
0
        public void PageGenerator_WithIgnoredFiles_IncludesCorrectlyButDoesntCopyIgnoredFileToDestination(string ignoredFilePath)
        {
            var p1 = PageGenerator.NewPage("Include.html", $"<include src=\"{ignoredFilePath}\"/>");
            var p2 = PageGenerator.NewPage(ignoredFilePath, k_TestPage_1);

            PageGenerator.RenderToFile();

            FileAssert.Exists(p1.DestinationHtmlPath);
            FileAssert.DoesNotExist(p2.DestinationHtmlPath);

            Assert.AreEqual(k_TestPage_1, p1.RenderedHtml, "Html differ");
        }
Ejemplo n.º 16
0
        public void PageGenerator_WithPathsInDirectories_WithInconsistentDirSeparators_WorkFine(string pageID, string howItsReferencedPath)
        {
            var p1 = PageGenerator.NewPage("Main.html", $"<include src=\"{howItsReferencedPath}\"/>");
            var p2 = PageGenerator.NewPage(pageID, k_TestPage_1);

            PageGenerator.RenderToFile();

            FileAssert.Exists(p1.DestinationHtmlPath);
            FileAssert.Exists(p2.DestinationHtmlPath);

            Assert.AreEqual(k_TestPage_1, p1.RenderedHtml, "Html differ");
        }
Ejemplo n.º 17
0
        // id is used to easily distinguish different tests in test runner, since it becomes part of test name
        public void MissingSurrounContent_ReportsError(int id, string surroundPage, string contentPage, int errorCount, string errorRegex)
        {
            var content = PageGenerator.NewPage("SurroundContent.html", contentPage);
            var page    = PageGenerator.NewPage("SurroundPage.html", surroundPage);

            page.Render();

            CheckErrorCount(errorCount);
            if (errorCount > 0)
            {
                CheckFirstErrorRegex(errorRegex);
            }
        }
Ejemplo n.º 18
0
        public void When_rendering_page_generator_Then_uses_default_max_pages()
        {
            PageGenerator.DefaultMaximumNumberOfPagesToShow = 3;
            var temp = new List <string>()
            {
                "one", "two", "three"
            };
            var results = new ResultPage <string>(temp, 2, 3, 15);
            var control = new PageGenerator(results, p => new A(p.Text, "http://wot.com/?page=" + p.Page).ToHtmlString());

            Assert.That(control.MaximumNumberOfPagesToShow, Is.EqualTo(3));

            PageGenerator.DefaultMaximumNumberOfPagesToShow = null; // Reset to default
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 文档发布时候发生
        /// </summary>
        /// <param name="archive"></param>
        static void WatchService_OnArchivePublished(Archive archive)
        {
            return;

            if (archive == null)
            {
                return;
            }

            //更新标签链接
            ArchiveUtility.UpdateArchiveTagLinks("/tags/{0}", archive, true);
            Category category = new CategoryBLL().Get(a => a.ID == archive.Cid);

            PageGenerator.Generate(PageGeneratorObject.ArchivePage, category, archive);
        }
Ejemplo n.º 20
0
        public void CleanUp()
        {
            Logger.UsedLogger = new LoggerToConsole();

            TagCollector  = new TagCollector();
            PageGenerator = new PageGenerator(TagCollector);

            PageGenerator.SourceFolder      = "Resources";
            PageGenerator.DestinationFolder = "Publish";

            if (Directory.Exists(PageGenerator.DestinationFolder))
            {
                Directory.Delete(PageGenerator.DestinationFolder, true);
            }
        }
Ejemplo n.º 21
0
        public void When_rendering_empty_page_generator_Then_renders_nothing()
        {
            PageGenerator.HideIfEmpty = true;
            var temp = new List <string>()
            {
                "one", "two", "three"
            };
            var results = new ResultPage <string>(temp, 1, 3, 3);
            var control = new PageGenerator(results, p => new A(p.Text, "http://wot.com/?page=" + p.Page).ToHtmlString());

            var actual = control.ToString();

            Assert.That(actual, Is.Empty);

            PageGenerator.HideIfEmpty = null; // Reset to default
        }
Ejemplo n.º 22
0
        private static void RunGenerator(PageGenerator gen, bool interactive, bool clean, bool rebuild, bool build)
        {
            if (clean && build)
            {
                rebuild = true;
            }

            if (rebuild || build)
            {
                gen.ScanFilesForHtml();
            }

            if (interactive)
            {
                if (string.IsNullOrEmpty(gen.LibrariesFolder))
                {
                    new Interactive(gen).Run(gen.SourceFolder);
                }
                else
                {
                    new Interactive(gen).Run(gen.SourceFolder, gen.LibrariesFolder);
                }

                return;
            }
            else if (rebuild)
            {
                gen.CleanBuild();
                gen.BuildWebpage();
            }
            else if (build)
            {
                gen.BuildWebpage();
            }
            else if (clean)
            {
                gen.CleanBuild();
            }
            else
            {
                Console.WriteLine("\nMissing command line arguments or config:");
                PrintHelpMessage();
                return;
            }

            return;
        }
Ejemplo n.º 23
0
        /// <summary>
        /// 分类页面
        /// </summary>
        /// <param name="tag"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public string Category(string tag, int page)
        {
            string   html     = String.Empty;
            Category category = cbll.Get(a => String.Compare(tag, a.Tag, true) == 0);

            if (category != null)
            {
                /*********************************
                *  @ 单页,跳到第一个特殊文档,
                *  @ 如果未设置则最新创建的文档,
                *  @ 如未添加文档则返回404
                *********************************/
                if (category.ModuleID == (int)SysModuleType.CustomPage)
                {
                    Archive a = bll.GetFirstSpecialArchive(category.ID);
                    if (a == null)
                    {
                        global::System.Data.DataTable dt = bll.GetArchives(category.ID, 1);
                        if (dt.Rows.Count == 1)
                        {
                            a = dt.Rows[0].ToEntity <Archive>();
                        }
                        else
                        {
                            return(base.Render404());
                        }
                    }

                    Response.StatusCode       = 302;
                    Response.RedirectLocation = String.Format("/{0}/{1}.html",
                                                              category.Tag,
                                                              String.IsNullOrEmpty(a.Alias) ? a.ID : a.Alias
                                                              );
                    Response.End();
                    return(null);
                }

                html = PageGenerator.ReturnGenerate(PageGeneratorObject.CategoryPage, category, page);
            }
            else
            {
                return(base.Render404());
            }

            return(html);
        }
Ejemplo n.º 24
0
        public static void Main(string[] args)
        {
            var config          = NunitGoHelper.Configuration;
            var outputPath      = config.LocalOutputPath;
            var attachmentsPath = outputPath + @"\Attachments\";

            PageGenerator.GenerateStyleFile(outputPath);

            var tests      = NunitGoTestHelper.GetNewestTests(attachmentsPath).OrderBy(x => x.DateTimeFinish).ToList();
            var stats      = new MainStatistics(tests);
            var statsChart = new MainInfoChart(stats, Output.GetStatsPieId());

            statsChart.SaveScript(outputPath);
            tests.GenerateTimelinePage(Path.Combine(outputPath, Output.Files.TimelineFile));
            stats.GenerateMainStatisticsPage(Path.Combine(outputPath, Output.Files.TestStatisticsFile));
            tests.GenerateTestListPage(Path.Combine(outputPath, Output.Files.TestListFile));
            tests.GenerateReportMainPage(outputPath, stats);
        }
Ejemplo n.º 25
0
 static void Main()
 {
     PageGenerator.GenerateReportPage();
     //PageGenerator.GenerateReportPageWithFirstPartyEmbedding();
     //PageGenerator.GenerateReportPageWithPhasedLoading();
     //PageGenerator.GenerateReportWithPageNavigation();
     //PageGenerator.GenerateReportWithToolbarPage();
     //PageGenerator.GenerateReportWithContextMenusPage();
     //PageGenerator.GenerateReportWithBookmarks();
     //PageGenerator.GenerateReportWithCustomFiltering();
     //PageGenerator.GenerateNewReportPage();
     //PageGenerator.GenerateNewReportPageFirstParty();
     //PageGenerator.GenerateDashboardPage();
     //PageGenerator.GenerateDashboardTilePage();
     //PageGenerator.GenerateReportInspectorPage();
     //PageGenerator.GenerateReportVisualPage();
     //PageGenerator.GenerateQnaPage();
     //PageGenerator.GenerateReportWithRls();
 }
Ejemplo n.º 26
0
        private const string k_MatchVariableEnd    = @"(?=[^\w\-\.])"; // Matches end of arg name so when replacing @arg, should not match part of @argB
        public string Modify(PageGenerator PageGenerator, string mainPageID, string html)
        {
            foreach (var tag in k_TemplateClassTag.Matches(html).OrderByDescending(t => t.Index))
            {
                var pageID = tag.Groups[1].Value.NormalizePath();

                if (!PageGenerator.Pages.ContainsKey(pageID))
                {
                    Logger.LogError($"'{mainPageID}': Class not found: {pageID}. Cannot Insert Template");
                    continue;
                }

                // Parse arguments from main html file (only template section)
                var templateArgArea = tag.Groups[2].Value.TrimNewLinesAndDirSeparators();
                var args            = k_TemplateArgumants.Matches(templateArgArea).Select(match =>
                {
                    var argName  = match.Groups[1].Value;
                    var argValue = match.Groups[2].Value.TrimNewLinesAndDirSeparators();
                    return(argName, argValue);
                }).ToArray();

                var templateHtml = PageGenerator.Pages[pageID].RenderedHtml;

                var variablesInTemplate = k_TemplateVariables.Matches(templateHtml).Select(m => m.Groups[1].Value).Distinct(new PathEqualityComparer()).ToArray();
                if (variablesInTemplate.Length != args.Length)
                {
                    Logger.LogWarning($"'{mainPageID}': Argument number to insert template '{pageID}' was not equal. " +
                                      $"Template has {variablesInTemplate.Length} variables, provided {args.Length} arguments.");
                }

                // Replace arguments with real values
                foreach (var(argName, argValue) in args)
                {
                    templateHtml = Regex.Replace(templateHtml, argName + k_MatchVariableEnd, argValue, PreferredRegexOptions);
                }

                // Replace total template code in original html with generated code
                html = html.Replace(tag.Index, tag.Length, templateHtml);
            }

            return(html.FixLineEndings());
        }
Ejemplo n.º 27
0
        public string Modify(PageGenerator PageGenerator, string mainPageID, string html)
        {
            var includeTags = k_IncludeClassTag.Matches(html);

            foreach (var tag in includeTags.OrderByDescending(t => t.Index))
            {
                var pageID = tag.Groups[1].Value.NormalizePath();

                if (!PageGenerator.Pages.ContainsKey(pageID))
                {
                    Logger.LogError($"'{mainPageID}': Class not found: {pageID}. Cannot Perform Include");
                    continue;
                }

                var replacement = PageGenerator.Pages[pageID].RenderedHtml;
                html = html.Replace(tag.Index, tag.Length, replacement);
            }

            return(html.FixLineEndings());
        }
Ejemplo n.º 28
0
        public void PageGenerator_CreatesFilesInCorrectLocations(bool useFileSystem)
        {
            if (!useFileSystem)
            {
                new HtmlPage("IncludePage.html", PageGenerator, TagCollector);
                new HtmlPage("TestPage.html", PageGenerator, TagCollector);
            }
            else
            {
                PageGenerator.ScanFilesForHtml();
            }

            PageGenerator.RenderToFile();

            var p1Actual = File.ReadAllText(PageGenerator.Pages["IncludePage.html"].DestinationHtmlPath);
            var p2Actual = File.ReadAllText(PageGenerator.Pages["TestPage.html"].DestinationHtmlPath);

            Assert.AreEqual(k_TestResult_1, p1Actual, "Html differ");
            Assert.AreEqual(k_TestPage_1, p2Actual, "Html differ");
        }
        public void GenerateReport()
        {
            try
            {
                if (!_configuration.GenerateReport)
                {
                    return;
                }

                const string cssPageName = Output.Files.ReportStyleFile;
                var          cssFullPath = Path.Combine(_outputPath, cssPageName);
                if (!File.Exists(cssFullPath))
                {
                    PageGenerator.GenerateStyleFile(cssFullPath);
                }

                /*
                 * var primerName = Output.Files.PrimerStyleFile;
                 * ExtractResource(primerName, _outputPath);
                 *
                 * var octiconsName = Output.Files.OcticonsStyleFiles;
                 * ExtractResources(octiconsName, _outputPath);
                 *
                 * //jquery - 1.11.0.min.js
                 * var jqueryName = Output.Files.JQueryScriptFile;
                 * ExtractResource(jqueryName, _outputPath);
                 */
                var tests      = ReportTestHelper.GetNewestTests(_attachmentsPath).OrderBy(x => x.DateTimeFinish).ToList();
                var stats      = new MainStatistics(tests, _startSuite);
                var statsChart = new MainInfoChart(stats, Output.GetStatsPieId());
                statsChart.SaveScript(_outputPath);
                tests.GenerateTimelinePage(Path.Combine(_outputPath, Output.Files.TimelineFile));
                stats.GenerateMainStatisticsPage(Path.Combine(_outputPath, Output.Files.TestStatisticsFile));
                tests.GenerateTestListPage(Path.Combine(_outputPath, Output.Files.TestListFile));
                tests.GenerateReportMainPage(_outputPath, stats);
            }
            catch (Exception ex)
            {
                InternalLogs.Exception(ex, "Exception in GenerateReport");
            }
        }
Ejemplo n.º 30
0
        static void Main()
        {
            bool launchInBrowser = true;

            PageGenerator.GenerateReportPageWithFirstPartyEmbedding(launchInBrowser);
            //PageGenerator.GenerateReportPage(launchInBrowser);
            //PageGenerator.GenerateReportWithToolbarPage(launchInBrowser);
            //PageGenerator.GenerateDashboardPage(launchInBrowser);
            //PageGenerator.GenerateDashboardTilePage(launchInBrowser);
            //PageGenerator.GenerateNewReportPage(launchInBrowser);
            //PageGenerator.GenerateNewReportPageWithSaveAsRedirect(launchInBrowser);
            //PageGenerator.GenerateQnaPage(launchInBrowser);
            //PageGenerator.GenerateReportPageWithConfigurationOptions(launchInBrowser);
            //PageGenerator.GenerateReportWithPageNavigation(launchInBrowser);
            //PageGenerator.GenerateReportPageWithPhasedLoading(launchInBrowser);
            //PageGenerator.GenerateReportWithCustomFiltering(launchInBrowser);
            //PageGenerator.GenerateReportWithBookmarks(launchInBrowser);
            //PageGenerator.GenerateReportWithBookmarkCarousel(launchInBrowser);
            //PageGenerator.GenerateReportWithContextMenusPage(launchInBrowser);
            //PageGenerator.GenerateReportInspectorPage(launchInBrowser);
            //PageGenerator.GenerateReportVisualPage(launchInBrowser);
        }
    private TableViewPage GeneratePage( PageGenerator pageGenerator )
    {
      var pageResult = pageGenerator.Generate( m_layoutedContainers, m_lastGeneratedPage );

      // Replace the layouted containers.
      m_layoutedContainers.Clear();
      m_layoutedContainers.AddRange( pageResult.LayoutedContainers );
      m_layoutedContainers.Sort();

      m_lastGeneratedPage = pageResult.PageInfo;

      return m_lastGeneratedPage;
    }
Ejemplo n.º 32
0
 internal DynamicGenerator(PageGenerator gen)
 {
     generator = gen;
 }