Esempio n. 1
0
        public void ListView_Edit()
        {
            WebTest t = new WebTest("ListViewTest.aspx");

            t.Invoker = PageInvoker.CreateOnInit(ListView_Edit_OnInit);
            t.Run();

            FormRequest fr = new FormRequest(t.Response, "form1");

#if DOT_NET
            fr.Controls.Add("ListView1$ctrl0$ctl03$EditButton");
            fr.Controls.Add("ListView1$ctrl6$ctrl7$CapitalTextBox");
            fr.Controls.Add("ListView1$ctrl6$ctrl7$IDTextBox");
            fr.Controls.Add("ListView1$ctrl6$ctrl7$NameTextBox");
            fr.Controls.Add("ListView1$ctrl6$ctrl7$PopulationTextBox");
            fr.Controls ["ListView1$ctrl0$ctl03$EditButton"].Value = "Edit";
#else
            fr.Controls.Add("ListView1$ctl13$EditButton");
            fr.Controls.Add("ListView1$ctl51$CapitalTextBox");
            fr.Controls.Add("ListView1$ctl51$IDTextBox");
            fr.Controls.Add("ListView1$ctl51$NameTextBox");
            fr.Controls.Add("ListView1$ctl51$PopulationTextBox");
            fr.Controls ["ListView1$ctl13$EditButton"].Value = "Edit";
#endif
            t.Request = fr;

            EventRecorder events = new EventRecorder();
            t.UserData = events;
            t.Run();
        }
Esempio n. 2
0
        public void ListView_EnsureLayoutTemplate()
        {
            var events = new EventRecorder();
            var lvp    = new ListViewPoker(events);

            lvp.DoEnsureLayoutTemplate();
            Assert.AreEqual(2, events.Count, "#A1");
            Assert.AreEqual("OnLayoutCreated:Enter", events [0], "#A2");
            Assert.AreEqual("OnLayoutCreated:Leave", events [1], "#A3");
            Assert.AreEqual(0, lvp.Controls.Count, "#A4");

            events.Clear();
            lvp.LayoutTemplate = new TestTemplate();
            lvp.DoEnsureLayoutTemplate();
            Assert.AreEqual(2, events.Count, "#B1");
            Assert.AreEqual("OnLayoutCreated:Enter", events [0], "#B2");
            Assert.AreEqual("OnLayoutCreated:Leave", events [1], "#B3");
            Assert.AreEqual(1, lvp.Controls.Count, "#B4");
            Assert.AreEqual(typeof(Control), lvp.Controls [0].GetType(), "#B5");
            Assert.AreEqual("TestTemplateControl", lvp.Controls [0].Controls [0].ID, "#B6");

            events.Clear();
            lvp.DoEnsureLayoutTemplate();
            Assert.AreEqual(0, events.Count, "#C1");
            Assert.AreEqual(1, lvp.Controls.Count, "#C2");
            Assert.AreEqual(typeof(Control), lvp.Controls [0].GetType(), "#C3");
            Assert.AreEqual("TestTemplateControl", lvp.Controls [0].Controls [0].ID, "#C4");
        }
Esempio n. 3
0
        public void ListView_SetPageProperties_Events()
        {
            var events = new EventRecorder();
            var lvp    = new ListViewPoker(events);

            // No events expected: databind is false
            events.Clear();
            lvp.DoSetPageProperties(0, 1, false);

            // No events expected: startRowIndex and maximumRows don't change values
            events.Clear();
            lvp.DoSetPageProperties(0, 1, true);
            Assert.AreEqual(0, events.Count, "#A1");

            // No events expected: startRowIndex changes, but databind is false
            events.Clear();
            lvp.DoSetPageProperties(1, 1, false);
            Assert.AreEqual(0, events.Count, "#A2");

            // No events expected: maximumRows changes, but databind is false
            events.Clear();
            lvp.DoSetPageProperties(1, 2, false);
            Assert.AreEqual(0, events.Count, "#A3");

            // No events expected: maximumRows and startRowIndex change but databind is
            // false
            events.Clear();
            lvp.DoSetPageProperties(3, 4, false);
            Assert.AreEqual(0, events.Count, "#A4");

            // Events expected: maximumRows and startRowIndex change and databind is
            // true
            events.Clear();
            lvp.DoSetPageProperties(5, 6, true);
            Assert.AreEqual(4, events.Count, "#A5");
            Assert.AreEqual("OnPagePropertiesChanging:Enter", events [0], "#A6");
            Assert.AreEqual("OnPagePropertiesChanging:Leave", events [1], "#A7");
            Assert.AreEqual("OnPagePropertiesChanged:Enter", events [2], "#A8");
            Assert.AreEqual("OnPagePropertiesChanged:Leave", events [3], "#A9");

            // Events expected: maximumRows changes and databind is true
            events.Clear();
            lvp.DoSetPageProperties(5, 7, true);
            Assert.AreEqual(4, events.Count, "#A10");
            Assert.AreEqual("OnPagePropertiesChanging:Enter", events [0], "#A11");
            Assert.AreEqual("OnPagePropertiesChanging:Leave", events [1], "#A12");
            Assert.AreEqual("OnPagePropertiesChanged:Enter", events [2], "#A13");
            Assert.AreEqual("OnPagePropertiesChanged:Leave", events [3], "#A14");

            // Events expected: startRowIndex changes and databind is true
            events.Clear();
            lvp.DoSetPageProperties(6, 7, true);
            Assert.AreEqual(4, events.Count, "#A15");
            Assert.AreEqual("OnPagePropertiesChanging:Enter", events [0], "#A16");
            Assert.AreEqual("OnPagePropertiesChanging:Leave", events [1], "#A17");
            Assert.AreEqual("OnPagePropertiesChanged:Enter", events [2], "#A18");
            Assert.AreEqual("OnPagePropertiesChanged:Leave", events [3], "#A19");
        }
        public void DataPagerFieldCollection_Events()
        {
            var events = new EventRecorder();
            var coll   = new DataPagerFieldCollectionPoker(new DataPager(), events);

            coll.CatchFieldsChangedEvent();

            coll.Insert(0, new NextPreviousPagerField());
            Assert.AreEqual(6, events.Count);
            Assert.AreEqual("OnValidate:Enter", events [0], "#A1");
            Assert.AreEqual("OnValidate:Leave", events [1], "#A2");
            Assert.AreEqual("OnInsertComplete:Enter", events [2], "#A3");
            Assert.AreEqual("OnFieldsChanged:Enter", events [3], "#A4");
            Assert.AreEqual("OnFieldsChanged:Leave", events [4], "#A5");
            Assert.AreEqual("OnInsertComplete:Leave", events [5], "#A6");

            events.Clear();
            coll.Clear();
            Assert.AreEqual(4, events.Count);
            Assert.AreEqual("OnClearComplete:Enter", events [0], "#B1");
            Assert.AreEqual("OnFieldsChanged:Enter", events [1], "#B2");
            Assert.AreEqual("OnFieldsChanged:Leave", events [2], "#B3");
            Assert.AreEqual("OnClearComplete:Leave", events [3], "#B4");

            NextPreviousPagerField field = new NextPreviousPagerField();

            coll.Insert(0, field);
            events.Clear();
            coll.Remove(field);
            Assert.AreEqual(8, events.Count);
            Assert.AreEqual("OnValidate:Enter", events [0], "#C1");
            Assert.AreEqual("OnValidate:Leave", events [1], "#C2");
            Assert.AreEqual("OnValidate:Enter", events [2], "#C3");
            Assert.AreEqual("OnValidate:Leave", events [3], "#C4");
            Assert.AreEqual("OnRemoveComplete:Enter", events [4], "#C5");
            Assert.AreEqual("OnFieldsChanged:Enter", events [5], "#C6");
            Assert.AreEqual("OnFieldsChanged:Leave", events [6], "#C7");
            Assert.AreEqual("OnRemoveComplete:Leave", events [7], "#C8");

            coll.Insert(0, field);
            events.Clear();
            coll.RemoveAt(0);

            Assert.AreEqual(4, events.Count);
            Assert.AreEqual("OnRemoveComplete:Enter", events [0], "#D1");
            Assert.AreEqual("OnFieldsChanged:Enter", events [1], "#D2");
            Assert.AreEqual("OnFieldsChanged:Leave", events [2], "#D3");
            Assert.AreEqual("OnRemoveComplete:Leave", events [3], "#D4");
        }
Esempio n. 5
0
		public void ListView_CreateEmptyDataItem ()
		{
			var events = new EventRecorder ();
			var lvp = new ListViewPoker (events);
			lvp.DoCreateEmptyDataItem ();

			Assert.AreEqual (0, events.Count, "#A1");
			
			lvp.EmptyDataTemplate = new TestTemplate ();
			lvp.DoCreateEmptyDataItem ();
			Assert.AreEqual (1, lvp.Controls.Count, "#B1");
			Assert.AreEqual (typeof (ListViewItem), lvp.Controls [0].GetType (), "#B2");
			Assert.AreEqual ("TestTemplateControl", lvp.Controls [0].Controls [0].ID, "#B3");
			Assert.AreEqual ("OnItemCreated:Enter", events [0], "#B4");
			Assert.AreEqual ("OnItemCreated:Leave", events [1], "#B5");
		}
Esempio n. 6
0
		public void ListView_CreateInsertItem ()
		{
			var events = new EventRecorder ();
			var lvp = new ListViewPoker (events);
			
			lvp.InsertItemTemplate = new TestTemplate ();
			ListViewItem item = lvp.DoCreateInsertItem ();
			Assert.AreEqual (0, lvp.Controls.Count, "#A1");
			Assert.AreEqual (typeof (ListViewItem), item.GetType (), "#A2");
			Assert.AreEqual (typeof (Control), item.Controls [0].GetType (), "#A3");

			Assert.AreEqual (2, events.Count, "#A4");
			Assert.AreEqual ("TestTemplateControl", item.Controls [0].ID, "#A5");
			Assert.AreEqual ("OnItemCreated:Enter", events [0], "#A6");
			Assert.AreEqual ("OnItemCreated:Leave", events [1], "#A7");
			
			Assert.AreEqual (ListViewItemType.InsertItem, item.ItemType, "#A7");
			Assert.IsTrue (item.Equals (lvp.InsertItem), "#A8");
		}
Esempio n. 7
0
        public void ListView_CreateItem()
        {
            var          events = new EventRecorder();
            var          lvp    = new ListViewPoker(events);
            ListViewItem item;

            item = lvp.DoCreateItem(ListViewItemType.DataItem);
            Assert.IsFalse(item == null, "#A1");
            Assert.AreEqual(ListViewItemType.DataItem, item.ItemType, "#A2");
            Assert.AreEqual(typeof(ListViewItem), item.GetType(), "#A3");

            Assert.AreEqual(0, events.Count, "#B1");

            item = lvp.DoCreateItem(ListViewItemType.InsertItem);
            Assert.IsFalse(item == null, "#C1");
            Assert.AreEqual(ListViewItemType.InsertItem, item.ItemType, "#C2");
            Assert.AreEqual(typeof(ListViewItem), item.GetType(), "#C3");

            item = lvp.DoCreateItem(ListViewItemType.EmptyItem);
            Assert.IsFalse(item == null, "#D1");
            Assert.AreEqual(ListViewItemType.EmptyItem, item.ItemType, "#D2");
            Assert.AreEqual(typeof(ListViewItem), item.GetType(), "#D3");
        }
Esempio n. 8
0
        void DoInstantiateCall(ListViewItemTemplate whichTemplate)
        {
            var events    = new EventRecorder();
            var lvp       = new ListViewPoker(events);
            var container = new Control();
            var template  = new TestTemplate();

            switch (whichTemplate)
            {
            case ListViewItemTemplate.EmptyData:
                lvp.DoInstantiateEmptyDataTemplate(null);
                lvp.EmptyDataTemplate = template;
                lvp.DoInstantiateEmptyDataTemplate(container);
                break;

            case ListViewItemTemplate.EmptyItem:
                lvp.DoInstantiateEmptyItemTemplate(null);
                lvp.EmptyItemTemplate = template;
                lvp.DoInstantiateEmptyItemTemplate(container);
                break;

            case ListViewItemTemplate.GroupSeparator:
                lvp.DoInstantiateGroupSeparatorTemplate(null);
                lvp.GroupSeparatorTemplate = template;
                lvp.DoInstantiateGroupSeparatorTemplate(container);
                break;

            case ListViewItemTemplate.Group:
                lvp.DoInstantiateGroupTemplate(null);
                lvp.GroupTemplate = template;
                lvp.DoInstantiateGroupTemplate(container);
                break;

            case ListViewItemTemplate.InsertItem:
                lvp.DoInstantiateInsertItemTemplate(null);
                lvp.InsertItemTemplate = template;
                lvp.DoInstantiateInsertItemTemplate(container);
                break;

            case ListViewItemTemplate.ItemSeparator:
                lvp.DoInstantiateItemSeparatorTemplate(null);
                lvp.ItemSeparatorTemplate = template;
                lvp.DoInstantiateItemSeparatorTemplate(container);
                break;

            case ListViewItemTemplate.Item:
                lvp.ItemTemplate = template;
                lvp.DoInstantiateItemTemplate(container, 0);
                break;

            case ListViewItemTemplate.EditItem:
                lvp.EditIndex        = 0;
                lvp.ItemTemplate     = template;
                lvp.EditItemTemplate = template;
                lvp.DoInstantiateItemTemplate(container, 0);
                break;

            case ListViewItemTemplate.AlternatingItem:
                lvp.ItemTemplate            = template;
                lvp.AlternatingItemTemplate = template;
                lvp.DoInstantiateItemTemplate(container, 1);
                break;

            case ListViewItemTemplate.SelectedItem:
                lvp.ItemTemplate         = template;
                lvp.SelectedIndex        = 0;
                lvp.SelectedItemTemplate = template;
                lvp.DoInstantiateItemTemplate(container, 0);
                break;

            default:
                throw new NotSupportedException("Unsupported ListView item type.");
            }

            Assert.AreEqual(0, events.Count, "#A1");
            Assert.AreEqual(typeof(Control), container.Controls [0].GetType(), "#A2");
            Assert.AreEqual("TestTemplateControl", container.Controls [0].ID, "#A3");
        }
Esempio n. 9
0
 internal void SetEventRecorder(EventRecorder recorder)
 {
     this.recorder = recorder;
 }
Esempio n. 10
0
 public ListViewPoker(EventRecorder recorder)
 {
     this.recorder = recorder;
 }
 public DataPagerFieldCollectionPoker(DataPager pager, EventRecorder recorder)
     : base(pager)
 {
     this.recorder = recorder;
 }