示例#1
0
        public void SelectedTabChanged_Called()
        {
            var tv = GetTabView(out var tab1, out var tab2);

            tv.SelectedTab = tab1;

            TabView.Tab oldTab = null;
            TabView.Tab newTab = null;
            int         called = 0;

            tv.SelectedTabChanged += (s, e) => {
                oldTab = e.OldTab;
                newTab = e.NewTab;
                called++;
            };

            tv.SelectedTab = tab2;

            Assert.Equal(1, called);
            Assert.Equal(tab1, oldTab);
            Assert.Equal(tab2, newTab);

            // Shutdown must be called to safely clean up Application if Init has been called
            Application.Shutdown();
        }
示例#2
0
        public void SwitchTabBy_NormalUsage()
        {
            var tv = GetTabView(out var tab1, out var tab2);

            TabView.Tab tab3;
            TabView.Tab tab4;
            TabView.Tab tab5;

            tv.AddTab(tab3 = new TabView.Tab(), false);
            tv.AddTab(tab4 = new TabView.Tab(), false);
            tv.AddTab(tab5 = new TabView.Tab(), false);

            tv.SelectedTab = tab1;

            int called = 0;

            tv.SelectedTabChanged += (s, e) => { called++; };

            tv.SwitchTabBy(1);

            Assert.Equal(1, called);
            Assert.Equal(tab2, tv.SelectedTab);

            //reset called counter
            called = 0;

            // go right 2
            tv.SwitchTabBy(2);

            // even though we go right 2 indexes the event should only be called once
            Assert.Equal(1, called);
            Assert.Equal(tab4, tv.SelectedTab);
        }
示例#3
0
        private TabView GetTabView(out TabView.Tab tab1, out TabView.Tab tab2)
        {
            InitFakeDriver();

            var tv = new TabView();

            tv.AddTab(tab1 = new TabView.Tab("Tab1", new TextField("hi")), false);
            tv.AddTab(tab2 = new TabView.Tab("Tab2", new Label("hi2")), false);
            return(tv);
        }
示例#4
0
        public void AddTwoTabs_SecondIsSelected()
        {
            InitFakeDriver();

            var tv = new TabView();

            TabView.Tab tab1;
            TabView.Tab tab2;
            tv.AddTab(tab1 = new TabView.Tab("Tab1", new TextField("hi")), false);
            tv.AddTab(tab2 = new TabView.Tab("Tab1", new Label("hi2")), true);

            Assert.Equal(2, tv.Tabs.Count);
            Assert.Equal(tab2, tv.SelectedTab);
        }
示例#5
0
        private TabView GetTabView(out TabView.Tab tab1, out TabView.Tab tab2, bool initFakeDriver = true)
        {
            if (initFakeDriver)
            {
                InitFakeDriver();
            }

            var tv = new TabView();

            tv.ColorScheme = new ColorScheme();
            tv.AddTab(tab1 = new TabView.Tab("Tab1", new TextField("hi")), false);
            tv.AddTab(tab2 = new TabView.Tab("Tab2", new Label("hi2")), false);
            return(tv);
        }
示例#6
0
        public void SelectedTabChanged_Called()
        {
            var tv = GetTabView(out var tab1, out var tab2);

            tv.SelectedTab = tab1;

            TabView.Tab oldTab = null;
            TabView.Tab newTab = null;
            int         called = 0;

            tv.SelectedTabChanged += (s, e) => {
                oldTab = e.OldTab;
                newTab = e.NewTab;
                called++;
            };

            tv.SelectedTab = tab2;

            Assert.Equal(1, called);
            Assert.Equal(tab1, oldTab);
            Assert.Equal(tab2, newTab);
        }
示例#7
0
 private void UpdateStatus(TabView.Tab newTab)
 {
     lblStatus.Text = $"Len:{(newTab?.View?.Text?.Length ?? 0)}";
 }