public void Add ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			Assert.AreEqual (0, rgc.Count, "0");
			RoleGroup rg1 = new RoleGroup ();
			rgc.Add (rg1);
			Assert.AreEqual (1, rgc.Count, "1");
			rgc.Add (rg1);
			Assert.AreEqual (2, rgc.Count, "2");
		}
 private static string CreateRoleGroupCaption(int roleGroupIndex, RoleGroupCollection roleGroups)
 {
     string str = roleGroups[roleGroupIndex].ToString();
     string str2 = "RoleGroup[" + roleGroupIndex.ToString(CultureInfo.InvariantCulture) + "]";
     if ((str != null) && (str.Length > 0))
     {
         str2 = str2 + " - " + str;
     }
     return str2;
 }
		public void Contains ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			Assert.IsFalse (rgc.Contains (null), "null");

			RoleGroup rg1 = new RoleGroup ();
			rgc.Add (rg1);
			Assert.IsTrue (rgc.Contains (rg1), "1a");

			RoleGroup rg2 = new RoleGroup ();
			Assert.IsFalse (rgc.Contains (rg2), "2a");
			rgc.Add (rg2);
			Assert.IsTrue (rgc.Contains (rg2), "2b");

			rgc.Remove (rg1);
			Assert.IsFalse (rgc.Contains (rg1), "1b");
		}
Exemple #4
0
        /// <devdoc>
        /// Instantiate the appropriate template.
        /// </devdoc>
        protected internal override void CreateChildControls()
        {
            Controls.Clear();

            // For the first request, set _templateIndex now, so the correct template is
            // instantiated and we do not raise the ViewChanging/ViewChanged events.
            Page page = Page;

            if (page != null && !page.IsPostBack && !DesignMode)
            {
                _templateIndex = GetTemplateIndex();
            }

            int       templateIndex = TemplateIndex;
            ITemplate template      = null;

            switch (templateIndex)
            {
            case anonymousTemplateIndex:
                template = AnonymousTemplate;
                break;

            case loggedInTemplateIndex:
                template = LoggedInTemplate;
                break;

            default:
                int roleGroupIndex             = templateIndex - roleGroupStartingIndex;
                RoleGroupCollection roleGroups = RoleGroups;
                if (0 <= roleGroupIndex && roleGroupIndex < roleGroups.Count)
                {
                    template = roleGroups[roleGroupIndex].ContentTemplate;
                }
                break;
            }

            if (template != null)
            {
                Control templateContainer = new Control();
                template.InstantiateIn(templateContainer);
                Controls.Add(templateContainer);
            }
        }
Exemple #5
0
        protected internal override void CreateChildControls()
        {
            this.Controls.Clear();
            Page page = this.Page;

            if (((page != null) && !page.IsPostBack) && !base.DesignMode)
            {
                this._templateIndex = this.GetTemplateIndex();
            }
            int       templateIndex     = this.TemplateIndex;
            ITemplate anonymousTemplate = null;

            switch (templateIndex)
            {
            case 0:
                anonymousTemplate = this.AnonymousTemplate;
                break;

            case 1:
                anonymousTemplate = this.LoggedInTemplate;
                break;

            default:
            {
                int num2 = templateIndex - 2;
                RoleGroupCollection roleGroups = this.RoleGroups;
                if ((0 <= num2) && (num2 < roleGroups.Count))
                {
                    anonymousTemplate = roleGroups[num2].ContentTemplate;
                }
                break;
            }
            }
            if (anonymousTemplate != null)
            {
                Control container = new Control();
                anonymousTemplate.InstantiateIn(container);
                this.Controls.Add(container);
            }
        }
		public void Add_Null ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			rgc.Add (null);
		}
		public void ThisIndex ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			RoleGroup rg = new RoleGroup ();
			rgc.Add (rg);
			Assert.IsTrue (Object.ReferenceEquals (rg, rgc [0]));
		}
		public void Remove ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			rgc.Remove (null);

			RoleGroup rg1 = new RoleGroup ();
			rgc.Remove (rg1);
			rgc.Add (rg1);
			rgc.Add (rg1);
			Assert.AreEqual (2, rgc.Count, "Count");
			rgc.Remove (rg1);
			Assert.IsTrue (rgc.Contains (rg1), "rg1-bis");

			RoleGroup rg2 = new RoleGroup ();
			rgc.Add (rg2);
			rgc.Remove (rg2);
			rgc.Remove (rg2);
		}
		public void IndexOf ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			Assert.AreEqual (-1, rgc.IndexOf (null), "null");

			RoleGroup rg1 = new RoleGroup ();
			rgc.Add (rg1);
			Assert.AreEqual (0, rgc.IndexOf (rg1), "0");
			rgc.Add (rg1);
			Assert.AreEqual (0, rgc.IndexOf (rg1), "1");
		}
		public void ContainsUser_Out ()
		{
			RoleGroup rg = new RoleGroup ();
			rg.Roles = new string[2] { "mono", "hackers" };

			RoleGroupCollection rgc = new RoleGroupCollection ();
			rgc.Add (rg);
			Assert.AreEqual (1, rgc.Count, "Count");

			RoleGroup result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "m0n0"));
			Assert.IsNull (result, "me+MoNo");

			result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "h4ck"));
			Assert.IsNull (result, "me+h4ck");
		}
		public void GetMatchingRoleGroup_In ()
		{
			RoleGroup rg = new RoleGroup ();
			rg.Roles = new string[2] { "mono", "hackers" };

			RoleGroupCollection rgc = new RoleGroupCollection ();
			rgc.Add (rg);
			Assert.AreEqual (1, rgc.Count, "Count");

			RoleGroup result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "mono"));
			Assert.IsNotNull (result, "me+mono");
			Assert.IsTrue (Object.ReferenceEquals (result, rg), "ref1");

			result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "hackers"));
			Assert.IsNotNull (result, "me+hackers");
			Assert.IsTrue (Object.ReferenceEquals (result, rg), "ref2");

			// works for unauthenticated principals too
			result = rgc.GetMatchingRoleGroup (GetUnauthenticatedPrincipal ("me", "mono"));
			Assert.IsNotNull (result, "unauthenticated+me+mono");
			Assert.IsTrue (Object.ReferenceEquals (result, rg), "ref3");

			result = rgc.GetMatchingRoleGroup (GetUnauthenticatedPrincipal ("me", "hackers"));
			Assert.IsNotNull (result, "unauthenticated+me+hackers");
			Assert.IsTrue (Object.ReferenceEquals (result, rg), "ref4");

			// case insensitive
			result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "MoNo"));
			Assert.IsNotNull (result, "unauthenticated+me+MoNo");
			Assert.IsTrue (Object.ReferenceEquals (result, rg), "ref5");

			result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "hAcKeRs"));
			Assert.IsNotNull (result, "unauthenticated+me+hAcKeRs");
			Assert.IsTrue (Object.ReferenceEquals (result, rg), "ref6");
		}
		public void GetMatchingRoleGroup_NoRoles ()
		{
			RoleGroup rg = new RoleGroup ();
			
			RoleGroupCollection rgc = new RoleGroupCollection ();
			rgc.Add (rg);
			Assert.AreEqual (1, rgc.Count, "Count");

			RoleGroup result = rgc.GetMatchingRoleGroup (GetPrincipal ("me"));
			Assert.IsNull (result, "me");

			result = rgc.GetMatchingRoleGroup (GetPrincipal ("me", "mono"));
			Assert.IsNull (result, "me+mono");
		}
		public void GetMatchingRoleGroup_Null ()
		{
			RoleGroupCollection rgc = new RoleGroupCollection ();
			rgc.GetMatchingRoleGroup (null);
		}