예제 #1
0
        public virtual void TestForceRemotesOrigin()
        {
            string  srcn = "refs/heads/*";
            string  dstn = "refs/remotes/origin/*";
            RefSpec rs   = new RefSpec("+" + srcn + ":" + dstn);

            NUnit.Framework.Assert.IsTrue(rs.IsForceUpdate());
            NUnit.Framework.Assert.IsTrue(rs.IsWildcard());
            NUnit.Framework.Assert.AreEqual(srcn, rs.GetSource());
            NUnit.Framework.Assert.AreEqual(dstn, rs.GetDestination());
            NUnit.Framework.Assert.AreEqual("+" + srcn + ":" + dstn, rs.ToString());
            NUnit.Framework.Assert.AreEqual(rs, new RefSpec(rs.ToString()));
            Ref     r;
            RefSpec expanded;

            r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, "refs/heads/master", null);
            NUnit.Framework.Assert.IsTrue(rs.MatchSource(r));
            NUnit.Framework.Assert.IsFalse(rs.MatchDestination(r));
            expanded = rs.ExpandFromSource(r);
            NUnit.Framework.Assert.AreNotSame(rs, expanded);
            NUnit.Framework.Assert.IsTrue(expanded.IsForceUpdate());
            NUnit.Framework.Assert.IsFalse(expanded.IsWildcard());
            NUnit.Framework.Assert.AreEqual(r.GetName(), expanded.GetSource());
            NUnit.Framework.Assert.AreEqual("refs/remotes/origin/master", expanded.GetDestination
                                                ());
            r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, "refs/remotes/origin/next", null);
            NUnit.Framework.Assert.IsFalse(rs.MatchSource(r));
            NUnit.Framework.Assert.IsTrue(rs.MatchDestination(r));
            r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, "refs/tags/v1.0", null);
            NUnit.Framework.Assert.IsFalse(rs.MatchSource(r));
            NUnit.Framework.Assert.IsFalse(rs.MatchDestination(r));
        }
예제 #2
0
        public virtual void TestCreateEmpty()
        {
            RefSpec rs = new RefSpec();

            NUnit.Framework.Assert.IsFalse(rs.IsForceUpdate());
            NUnit.Framework.Assert.IsFalse(rs.IsWildcard());
            NUnit.Framework.Assert.AreEqual("HEAD", rs.GetSource());
            NUnit.Framework.Assert.IsNull(rs.GetDestination());
            NUnit.Framework.Assert.AreEqual("HEAD", rs.ToString());
        }
예제 #3
0
		public virtual void TestSplitLastColon()
		{
			string lhs = ":m:a:i:n:t";
			string rhs = "refs/heads/maint";
			RefSpec rs = new RefSpec(lhs + ":" + rhs);
			NUnit.Framework.Assert.IsFalse(rs.IsForceUpdate());
			NUnit.Framework.Assert.IsFalse(rs.IsWildcard());
			NUnit.Framework.Assert.AreEqual(lhs, rs.GetSource());
			NUnit.Framework.Assert.AreEqual(rhs, rs.GetDestination());
			NUnit.Framework.Assert.AreEqual(lhs + ":" + rhs, rs.ToString());
			NUnit.Framework.Assert.AreEqual(rs, new RefSpec(rs.ToString()));
		}
예제 #4
0
        public virtual void TestExpandFromDestination_Wildcard()
        {
            string  src = "refs/heads/master";
            string  dst = "refs/remotes/origin/master";
            RefSpec a   = new RefSpec("refs/heads/*:refs/remotes/origin/*");
            RefSpec r   = a.ExpandFromDestination(dst);

            NUnit.Framework.Assert.AreNotSame(a, r);
            NUnit.Framework.Assert.IsFalse(r.IsWildcard());
            NUnit.Framework.Assert.AreEqual(src, r.GetSource());
            NUnit.Framework.Assert.AreEqual(dst, r.GetDestination());
        }
예제 #5
0
        public virtual void TestSplitLastColon()
        {
            string  lhs = ":m:a:i:n:t";
            string  rhs = "refs/heads/maint";
            RefSpec rs  = new RefSpec(lhs + ":" + rhs);

            NUnit.Framework.Assert.IsFalse(rs.IsForceUpdate());
            NUnit.Framework.Assert.IsFalse(rs.IsWildcard());
            NUnit.Framework.Assert.AreEqual(lhs, rs.GetSource());
            NUnit.Framework.Assert.AreEqual(rhs, rs.GetDestination());
            NUnit.Framework.Assert.AreEqual(lhs + ":" + rhs, rs.ToString());
            NUnit.Framework.Assert.AreEqual(rs, new RefSpec(rs.ToString()));
        }
예제 #6
0
		public virtual void TestMasterMaster()
		{
			string sn = "refs/heads/master";
			RefSpec rs = new RefSpec(sn + ":" + sn);
			NUnit.Framework.Assert.IsFalse(rs.IsForceUpdate());
			NUnit.Framework.Assert.IsFalse(rs.IsWildcard());
			NUnit.Framework.Assert.AreEqual(sn, rs.GetSource());
			NUnit.Framework.Assert.AreEqual(sn, rs.GetDestination());
			NUnit.Framework.Assert.AreEqual(sn + ":" + sn, rs.ToString());
			NUnit.Framework.Assert.AreEqual(rs, new RefSpec(rs.ToString()));
			Ref r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, sn, null);
			NUnit.Framework.Assert.IsTrue(rs.MatchSource(r));
			NUnit.Framework.Assert.IsTrue(rs.MatchDestination(r));
			NUnit.Framework.Assert.AreSame(rs, rs.ExpandFromSource(r));
			r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, sn + "-and-more", null);
			NUnit.Framework.Assert.IsFalse(rs.MatchSource(r));
			NUnit.Framework.Assert.IsFalse(rs.MatchDestination(r));
		}
예제 #7
0
        public virtual void TestForceMasterMaster()
        {
            string  sn = "refs/heads/master";
            RefSpec rs = new RefSpec("+" + sn + ":" + sn);

            NUnit.Framework.Assert.IsTrue(rs.IsForceUpdate());
            NUnit.Framework.Assert.IsFalse(rs.IsWildcard());
            NUnit.Framework.Assert.AreEqual(sn, rs.GetSource());
            NUnit.Framework.Assert.AreEqual(sn, rs.GetDestination());
            NUnit.Framework.Assert.AreEqual("+" + sn + ":" + sn, rs.ToString());
            NUnit.Framework.Assert.AreEqual(rs, new RefSpec(rs.ToString()));
            Ref r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, sn, null);

            NUnit.Framework.Assert.IsTrue(rs.MatchSource(r));
            NUnit.Framework.Assert.IsTrue(rs.MatchDestination(r));
            NUnit.Framework.Assert.AreSame(rs, rs.ExpandFromSource(r));
            r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, sn + "-and-more", null);
            NUnit.Framework.Assert.IsFalse(rs.MatchSource(r));
            NUnit.Framework.Assert.IsFalse(rs.MatchDestination(r));
        }
예제 #8
0
		public virtual void TestCreateEmpty()
		{
			RefSpec rs = new RefSpec();
			NUnit.Framework.Assert.IsFalse(rs.IsForceUpdate());
			NUnit.Framework.Assert.IsFalse(rs.IsWildcard());
			NUnit.Framework.Assert.AreEqual("HEAD", rs.GetSource());
			NUnit.Framework.Assert.IsNull(rs.GetDestination());
			NUnit.Framework.Assert.AreEqual("HEAD", rs.ToString());
		}
예제 #9
0
		public virtual void TestForceRemotesOrigin()
		{
			string srcn = "refs/heads/*";
			string dstn = "refs/remotes/origin/*";
			RefSpec rs = new RefSpec("+" + srcn + ":" + dstn);
			NUnit.Framework.Assert.IsTrue(rs.IsForceUpdate());
			NUnit.Framework.Assert.IsTrue(rs.IsWildcard());
			NUnit.Framework.Assert.AreEqual(srcn, rs.GetSource());
			NUnit.Framework.Assert.AreEqual(dstn, rs.GetDestination());
			NUnit.Framework.Assert.AreEqual("+" + srcn + ":" + dstn, rs.ToString());
			NUnit.Framework.Assert.AreEqual(rs, new RefSpec(rs.ToString()));
			Ref r;
			RefSpec expanded;
			r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, "refs/heads/master", null);
			NUnit.Framework.Assert.IsTrue(rs.MatchSource(r));
			NUnit.Framework.Assert.IsFalse(rs.MatchDestination(r));
			expanded = rs.ExpandFromSource(r);
			NUnit.Framework.Assert.AreNotSame(rs, expanded);
			NUnit.Framework.Assert.IsTrue(expanded.IsForceUpdate());
			NUnit.Framework.Assert.IsFalse(expanded.IsWildcard());
			NUnit.Framework.Assert.AreEqual(r.GetName(), expanded.GetSource());
			NUnit.Framework.Assert.AreEqual("refs/remotes/origin/master", expanded.GetDestination
				());
			r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, "refs/remotes/origin/next", null);
			NUnit.Framework.Assert.IsFalse(rs.MatchSource(r));
			NUnit.Framework.Assert.IsTrue(rs.MatchDestination(r));
			r = new ObjectIdRef.Unpeeled(RefStorage.LOOSE, "refs/tags/v1.0", null);
			NUnit.Framework.Assert.IsFalse(rs.MatchSource(r));
			NUnit.Framework.Assert.IsFalse(rs.MatchDestination(r));
		}