private static JsArray <Property> ParseEvents(HtmlTableElement tbl)
        {
            var list = new JsArray <Property>();
            var trs  = tbl.ToJQuery().find("> tbody > tr");

            foreach (var tr in trs)
            {
                var cells = tr.ToJQuery().children("td");
                var sig   = cells[0].ToJQuery().text().RemoveWhitespace();
                var type  = cells[1].ToJQuery().text().RemoveWhitespace();
                var desc  = cells[2].ToJQuery().text();
                if (type.Contains("None"))
                {
                    type = "JsAction";
                }
                else
                {
                    type = "JsAction<" + type + ">";
                }
                var name = sig;

                var me = new Property
                {
                    Name = name,
                    Type = new Class {
                        Name = type
                    },
                    Description = desc,
                };

                list.push(me);
            }
            return(list);
        }
Esempio n. 2
0
    public void ClickOnTemplateButton()
    {
        HtmlPage page = new HtmlPage();

        page.Navigate("DataControls.aspx");

        HtmlElement refreshLabel = page.Elements.Find("UpdatePanelRefreshLabel");

        // verify initial state (note that we don't need to refresh the innertext)
        HtmlTableElement gridView      = (HtmlTableElement)page.Elements.Find("CoursesGridView");
        HtmlElement      templateField = gridView.TBody.ChildElements[1].ChildElements[9];

        Assert.AreEqual("0", templateField.GetInnerTextRecursively().Trim());

        //page
        templateField.ChildElements.Find("input", 0).Click();
        refreshLabel.WaitForInnerText("UpdatePanel Refresh #:1", 10);

        // verify sort operation (we are going to just go and get the inner text)
        Assert.AreEqual("1000", templateField.GetInnerTextRecursively().Trim());

        // revert data back to original state
        templateField.ChildElements.Find("input", 1).Click(WaitFor.Postback);
        Assert.AreEqual("0", templateField.GetInnerTextRecursively().Trim());
    }
        private static JsArray <Property> ParseConstants(HtmlTableElement tbl)
        {
            var list = new JsArray <Property>();
            var trs  = tbl.ToJQuery().find("tbody > tr");

            foreach (var tr in trs)
            {
                var cells = tr.ToJQuery().children("td");
                var name  = cells[0].ToJQuery().text().RemoveWhitespace();
                var type  = "object";
                var desc  = cells[1].ToJQuery().text();

                var me = new Property
                {
                    Name = name,
                    Type = new Class {
                        Name = type
                    },
                    Description = desc,
                    IsStatic    = true,
                };

                list.push(me);
            }
            return(list);
        }
Esempio n. 4
0
        public void RowsAreRefreshedWhenTBodyIsRefreshed()
        {
            MockCommandExecutor commandExecutor = new MockCommandExecutor();

            _commandExecutorFactory.Setup(m => m.CreateBrowserCommandExecutor(It.IsAny <string>(), It.IsAny <HtmlPage>())).Returns(commandExecutor);
            var testPage = new HtmlPage();

            string html = @"
                <html id='control1'>
                    <table id='MyTable'> 
                        <tbody>
                            <tr>First</tr>
                            <tr>Second</tr>
                        </tbody>
                    </table>
                </html>
                ";

            commandExecutor.SetBrowserInfo(new LTAF.Engine.BrowserInfo()
            {
                Data = @"<tbody>
                                <tr>First Refreshed</tr>
                                <tr>Second Refreshed</tr>
                            </tbody>"
            });

            HtmlElement      element = HtmlElement.Create(html, testPage, false);
            HtmlTableElement table   = (HtmlTableElement)element.ChildElements.Find("MyTable");

            table.TBody.ChildElements.Refresh();
            UnitTestAssert.AreEqual(2, table.Rows.Count);
            UnitTestAssert.AreEqual("First Refreshed", table.Rows[0].CachedInnerText);
            UnitTestAssert.AreEqual("Second Refreshed", table.Rows[1].CachedInnerText);
        }
    public void GridViewEditTest()
    {
        HtmlPage page = new HtmlPage();

        LoginAndGoToHome(page);

        // Build the expected grades that are going to be set
        Random rand   = new Random(DateTime.Now.Second);
        string grade1 = rand.Next(100).ToString();
        string grade2 = rand.Next(100).ToString();
        string grade3 = rand.Next(100).ToString();

        // Get the gridview table
        HtmlTableElement gridView = (HtmlTableElement)page.Elements.Find("CoursesGridView");

        // Go to edit mode
        gridView.Rows[1].Cells[1].ChildElements[0].Click(WaitFor.AsyncPostback);

        // Fill the textboxes
        gridView.ChildElements.Refresh();
        gridView.Rows[1].Cells[6].ChildElements[0].SetText(grade1);
        gridView.Rows[1].Cells[7].ChildElements[0].SetText(grade2);
        gridView.Rows[1].Cells[8].ChildElements[0].SetText(grade3);

        // Click update button
        gridView.Rows[1].Cells[1].ChildElements[0].Click(WaitFor.AsyncPostback);

        // Verify new values
        gridView.ChildElements.Refresh();
        Assert.AreEqual(grade1, gridView.Rows[1].Cells[6].CachedInnerText);
        Assert.AreEqual(grade2, gridView.Rows[1].Cells[7].CachedInnerText);
        Assert.AreEqual(grade3, gridView.Rows[1].Cells[8].CachedInnerText);
    }
Esempio n. 6
0
        public void NoRowsAreReturnedWhenTBodyIsNotThre()
        {
            string html = @"
                <html id='control1'>
                    <table id='MyTable'> 
                    </table>
                </html>
                ";

            HtmlElement      element = HtmlElement.Create(html);
            HtmlTableElement table   = (HtmlTableElement)element.ChildElements.Find("MyTable");

            UnitTestAssert.AreEqual(0, table.Rows.Count);
        }
Esempio n. 7
0
 public TestGridView(HtmlElement tableElement, bool waitForPostbackAfterClicks)
 {
     if (waitForPostbackAfterClicks)
     {
         _waitForAfterClicks = WaitFor.Postback;
     }
     if (tableElement is HtmlTableElement)
     {
         _table = (HtmlTableElement)tableElement;
     }
     else
     {
         throw new WebTestException("This control can only wrap an element of type HtmlTableElement.");
     }
 }
    public void GridViewSortTest()
    {
        HtmlPage page = new HtmlPage();

        LoginAndGoToHome(page);

        // Get the gridview table
        HtmlTableElement gridView = (HtmlTableElement)page.Elements.Find("CoursesGridView");

        // Sort by name
        gridView.Rows[0].Cells[4].ChildElements[0].Click(WaitFor.AsyncPostback);

        // Verify sort operation
        Assert.AreEqual("Course Name #17", gridView.Rows[10].Cells[4].GetInnerText());
    }
    public void GridViewPagingTest()
    {
        HtmlPage page = new HtmlPage();

        LoginAndGoToHome(page);

        // Get the gridview table
        HtmlTableElement gridView = (HtmlTableElement)page.Elements.Find("CoursesGridView");

        // Verify current last entry
        Assert.AreEqual("Course Name #9", gridView.Rows[10].Cells[4].GetInnerText());

        // Go to page two
        gridView.Rows[11].ChildElements.Find("a", 0).Click(WaitFor.AsyncPostback);

        // Verify current last entry
        Assert.AreEqual("Course Name #19", gridView.Rows[10].Cells[4].GetInnerText());
    }
Esempio n. 10
0
    public void EditDataTest()
    {
        HtmlPage page = new HtmlPage();

        page.Navigate("DataControls.aspx");

        HtmlElement refreshLabel = page.Elements.Find("span", 1);

        HtmlTableElement gridView       = (HtmlTableElement)page.Elements.Find("CoursesGridView");
        string           originalString = gridView.TBody.ChildElements[3].ChildElements[6].GetInnerText();

        Assert.AreEqual("0", originalString.Trim());

        // click on edit link
        gridView.ChildElements.Find("a", "Edit", 2).Click();
        refreshLabel.WaitForInnerText("UpdatePanel Refresh #:1", 10);

        // refresh only the gridview elements
        gridView.ChildElements.Refresh();

        // click on the checkbox
        gridView.ChildElements.Find("ctl04.*CheckBox1", MatchMethod.Regex).Click();

        // fill the textboxes (we are going to do it by traversing the dom just for fun)
        gridView.TBody.ChildElements[3].ChildElements[6].ChildElements.Find("input", 0).SetText("112233");

        // click update link
        gridView.ChildElements.Find("a", "ReadyToUpdateRow", 0).Click();
        refreshLabel.WaitForInnerText("UpdatePanel Refresh #:2", 10);

        // verify gridview updated find table -> tobdy -> 4th row -> 7th cell
        gridView.ChildElements.Refresh();
        string updatedString = gridView.TBody.ChildElements[3].ChildElements[6].GetInnerText();

        Assert.AreEqual("112233", updatedString.Trim());

        // revert data back to original state
        gridView.ChildElements.Find("a", "Edit", 2).Click();
        refreshLabel.WaitForInnerText("UpdatePanel Refresh #:3", 10);
        gridView.TBody.ChildElements[3].ChildElements[6].ChildElements.Find("input", 0).SetText("0");
        gridView.ChildElements.Find("a", "ReadyToUpdateRow", 0).Click();
        refreshLabel.WaitForInnerText("UpdatePanel Refresh #:4", 10);
        Assert.AreEqual("0", gridView.TBody.ChildElements[3].ChildElements[6].GetInnerText());
    }
Esempio n. 11
0
        public void TwoRowsAreReturned()
        {
            string html = @"
                <html id='control1'>
                    <table id='MyTable'> 
                        <tbody>
                            <tr>First</tr>
                            <tr>Second</tr>
                        </tbody>
                    </table>
                </html>
                ";

            HtmlElement      element = HtmlElement.Create(html);
            HtmlTableElement table   = (HtmlTableElement)element.ChildElements.Find("MyTable");

            UnitTestAssert.AreEqual(2, table.Rows.Count);
            UnitTestAssert.AreEqual("First", table.Rows[0].CachedInnerText);
            UnitTestAssert.AreEqual("Second", table.Rows[1].CachedInnerText);
        }
Esempio n. 12
0
    public void PagingTest()
    {
        HtmlPage page = new HtmlPage();

        page.Navigate("DataControls.aspx");

        HtmlElement refreshLabel = page.Elements.Find("UpdatePanelRefreshLabel");

        // verify initial state
        HtmlTableElement gridView        = (HtmlTableElement)page.Elements.Find("CoursesGridView");
        HtmlElement      elementToVerify = gridView.TBody.ChildElements[1].ChildElements[4];

        Assert.AreEqual("Course Name #0", elementToVerify.GetInnerText().Trim());

        //page
        gridView.ChildElements.Find("a", "2", 0).Click();
        refreshLabel.WaitForInnerText("UpdatePanel Refresh #:1", 10);

        // verify sort operation (we are going to just go and get the inner text)
        Assert.AreEqual("Course Name #10", elementToVerify.GetInnerText());
    }
Esempio n. 13
0
        private static JsArray <Method> ParseMethods(HtmlTableElement tbl, bool isCtor)
        {
            var list = new JsArray <Method>();
            var trs  = tbl.ToJQuery().find("> tbody > tr");

            foreach (var tr in trs)
            {
                var      cells = tr.ToJQuery().children("td");
                var      sig   = cells[0].ToJQuery().text().RemoveWhitespace();
                JsString type;
                JsString desc;
                if (isCtor)
                {
                    type = "";
                    desc = cells[1].ToJQuery().text();
                }
                else
                {
                    type = cells[1].ToJQuery().text().RemoveWhitespace();
                    desc = cells[2].ToJQuery().text();
                }

                var name = sig.substr(0, sig.indexOf("("));

                var me = new Method
                {
                    Name = name,
                    Type = new Class {
                        Name = type
                    },
                    Description   = desc,
                    IsConstructor = isCtor,
                };


                var prms = sig.substr(sig.indexOf("(") + 1);
                prms = prms.substr(0, prms.indexOf(")"));
                if (prms.length > 0)
                {
                    if (!prms.Contains("function"))
                    {
                        var prms2 = prms.split(",");
                        foreach (var prm in prms2)
                        {
                            var tokens      = prm.split(':');
                            var prmTypeName = (tokens[1] ?? "").trim();
                            var prmName     = tokens[0].trim();
                            var prm3        = new Parameter {
                                Type = new Class {
                                    Name = prmTypeName ?? "object"
                                }
                            };
                            if (prmName.EndsWith("?"))
                            {
                                prmName         = prmName.substr(0, prmName.length - 1);
                                prm3.IsOptional = true;
                            }
                            prm3.Name = prmName;
                            me.Parameters.Add(prm3);
                        }
                    }
                }


                list.push(me);
            }
            return(list);
        }
Esempio n. 14
0
 public void SetUp()
 {
     _document = new Document();
     _table    = (HtmlTableElement)_document.CreateElement("TABLE");
 }
Esempio n. 15
0
 public void SetUp()
 {
     _document = new HtmlDocument();
     _table    = (HtmlTableElement)_document.CreateElement(TagsNames.Table);
     _document.Body.AppendChild(_table);
 }