當前位置: 首頁>>代碼示例>>C#>>正文


C# URIish.GetUser方法代碼示例

本文整理匯總了C#中NGit.Transport.URIish.GetUser方法的典型用法代碼示例。如果您正苦於以下問題:C# URIish.GetUser方法的具體用法?C# URIish.GetUser怎麽用?C# URIish.GetUser使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在NGit.Transport.URIish的用法示例。


在下文中一共展示了URIish.GetUser方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: TestFileProtocol

 public virtual void TestFileProtocol()
 {
     // as defined by git docu
     URIish u = new URIish("file:///a/b.txt");
     NUnit.Framework.Assert.AreEqual("file", u.GetScheme());
     NUnit.Framework.Assert.IsFalse(u.IsRemote());
     NUnit.Framework.Assert.IsNull(u.GetHost());
     NUnit.Framework.Assert.IsNull(u.GetPass());
     NUnit.Framework.Assert.AreEqual("/a/b.txt", u.GetPath());
     NUnit.Framework.Assert.AreEqual(-1, u.GetPort());
     NUnit.Framework.Assert.IsNull(u.GetUser());
     NUnit.Framework.Assert.AreEqual("b.txt", u.GetHumanishName());
     FilePath tmp = FilePath.CreateTempFile("jgitUnitTest", ".tmp");
     u = new URIish(tmp.ToURI().ToString());
     NUnit.Framework.Assert.AreEqual("file", u.GetScheme());
     NUnit.Framework.Assert.IsFalse(u.IsRemote());
     NUnit.Framework.Assert.IsNull(u.GetHost());
     NUnit.Framework.Assert.IsNull(u.GetPass());
     NUnit.Framework.Assert.IsTrue(u.GetPath().Contains("jgitUnitTest"));
     NUnit.Framework.Assert.AreEqual(-1, u.GetPort());
     NUnit.Framework.Assert.IsNull(u.GetUser());
     NUnit.Framework.Assert.IsTrue(u.GetHumanishName().StartsWith("jgitUnitTest"));
     u = new URIish("file:/a/b.txt");
     NUnit.Framework.Assert.AreEqual("file", u.GetScheme());
     NUnit.Framework.Assert.IsFalse(u.IsRemote());
     NUnit.Framework.Assert.IsNull(u.GetHost());
     NUnit.Framework.Assert.IsNull(u.GetPass());
     NUnit.Framework.Assert.AreEqual("/a/b.txt", u.GetPath());
     NUnit.Framework.Assert.AreEqual(-1, u.GetPort());
     NUnit.Framework.Assert.IsNull(u.GetUser());
     NUnit.Framework.Assert.AreEqual("b.txt", u.GetHumanishName());
 }
開發者ID:nnieslan,項目名稱:ngit,代碼行數:32,代碼來源:URIishTest.cs

示例2: CanHandle

            public override bool CanHandle(URIish uri, Repository local, string remoteName)
            {
                if (uri.GetPath() == null || uri.GetPort() > 0 || uri.GetUser() != null || uri.GetPass
                    () != null || uri.GetHost() != null || (uri.GetScheme() != null && !this.GetSchemes
                    ().Contains(uri.GetScheme())))
                {
                    return false;
                }
                return true;
            }
開發者ID:LunarLanding,項目名稱:ngit,代碼行數:10,代碼來源:TransportBundleFile.cs

示例3: CanHandle

        internal static bool CanHandle(URIish uri, FS fs)
        {
            if (uri.GetHost() != null || uri.GetPort() > 0 || uri.GetUser() != null || uri.GetPass
                () != null || uri.GetPath() == null)
            {
                return false;
            }
            if ("file".Equals(uri.GetScheme()) || uri.GetScheme() == null)
            {
                FilePath f = fs.Resolve(new FilePath("."), uri.GetPath());
                return f.IsFile() || f.GetName().EndsWith(".bundle");
            }
            return false;
        }
開發者ID:nickname100,項目名稱:monodevelop,代碼行數:14,代碼來源:TransportBundleFile.cs

示例4: TestUserPasswordAndPort

 public virtual void TestUserPasswordAndPort()
 {
     string str = "http://user:[email protected]:80/some/path";
     URIish u = new URIish(str);
     NUnit.Framework.Assert.AreEqual("http", u.GetScheme());
     NUnit.Framework.Assert.IsTrue(u.IsRemote());
     NUnit.Framework.Assert.AreEqual("/some/path", u.GetPath());
     NUnit.Framework.Assert.AreEqual("host.xy", u.GetHost());
     NUnit.Framework.Assert.AreEqual(80, u.GetPort());
     NUnit.Framework.Assert.AreEqual("user", u.GetUser());
     NUnit.Framework.Assert.AreEqual("secret", u.GetPass());
     NUnit.Framework.Assert.AreEqual(u, new URIish(str));
     str = "http://user:[email protected]@host.xy:80/some/path";
     u = new URIish(str);
     NUnit.Framework.Assert.AreEqual("http", u.GetScheme());
     NUnit.Framework.Assert.IsTrue(u.IsRemote());
     NUnit.Framework.Assert.AreEqual("/some/path", u.GetPath());
     NUnit.Framework.Assert.AreEqual("host.xy", u.GetHost());
     NUnit.Framework.Assert.AreEqual(80, u.GetPort());
     NUnit.Framework.Assert.AreEqual("user", u.GetUser());
     NUnit.Framework.Assert.AreEqual("[email protected]", u.GetPass());
     NUnit.Framework.Assert.AreEqual(u, new URIish(str));
 }
開發者ID:nnieslan,項目名稱:ngit,代碼行數:23,代碼來源:URIishTest.cs

示例5: TestSshProtoWithUserPassAndPort

 public virtual void TestSshProtoWithUserPassAndPort()
 {
     string str = "ssh://user:[email protected]:33/some/p ath";
     URIish u = new URIish(str);
     NUnit.Framework.Assert.AreEqual("ssh", u.GetScheme());
     NUnit.Framework.Assert.IsTrue(u.IsRemote());
     NUnit.Framework.Assert.AreEqual("/some/p ath", u.GetPath());
     NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
     NUnit.Framework.Assert.AreEqual("user", u.GetUser());
     NUnit.Framework.Assert.AreEqual("pass", u.GetPass());
     NUnit.Framework.Assert.AreEqual(33, u.GetPort());
     NUnit.Framework.Assert.AreEqual(str, u.ToPrivateString());
     NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
     NUnit.Framework.Assert.AreEqual(u, new URIish(str));
 }
開發者ID:nnieslan,項目名稱:ngit,代碼行數:15,代碼來源:URIishTest.cs

示例6: TestScpStyleWithUser

 public virtual void TestScpStyleWithUser()
 {
     string str = "[email protected]:some/p ath";
     URIish u = new URIish(str);
     NUnit.Framework.Assert.IsNull(u.GetScheme());
     NUnit.Framework.Assert.IsTrue(u.IsRemote());
     NUnit.Framework.Assert.AreEqual("some/p ath", u.GetPath());
     NUnit.Framework.Assert.AreEqual("user", u.GetUser());
     NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
     NUnit.Framework.Assert.AreEqual(-1, u.GetPort());
     NUnit.Framework.Assert.AreEqual(str, u.ToString());
     NUnit.Framework.Assert.AreEqual(u, new URIish(str));
 }
開發者ID:nnieslan,項目名稱:ngit,代碼行數:13,代碼來源:URIishTest.cs

示例7: TestGitWithUserHome

 public virtual void TestGitWithUserHome()
 {
     string str = "git://example.com/~some/p ath";
     URIish u = new URIish(str);
     NUnit.Framework.Assert.AreEqual("git", u.GetScheme());
     NUnit.Framework.Assert.IsTrue(u.IsRemote());
     NUnit.Framework.Assert.AreEqual("~some/p ath", u.GetPath());
     NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
     NUnit.Framework.Assert.IsNull(u.GetUser());
     NUnit.Framework.Assert.IsNull(u.GetPass());
     NUnit.Framework.Assert.AreEqual(-1, u.GetPort());
     NUnit.Framework.Assert.AreEqual(str, u.ToPrivateString());
     NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
     NUnit.Framework.Assert.AreEqual(u, new URIish(str));
 }
開發者ID:nnieslan,項目名稱:ngit,代碼行數:15,代碼來源:URIishTest.cs

示例8: TestFileWithNoneUserHomeWithTilde

 public virtual void TestFileWithNoneUserHomeWithTilde()
 {
     string str = "/~some/p ath";
     URIish u = new URIish(str);
     NUnit.Framework.Assert.IsNull(u.GetScheme());
     NUnit.Framework.Assert.IsFalse(u.IsRemote());
     NUnit.Framework.Assert.AreEqual("/~some/p ath", u.GetPath());
     NUnit.Framework.Assert.IsNull(u.GetHost());
     NUnit.Framework.Assert.IsNull(u.GetUser());
     NUnit.Framework.Assert.IsNull(u.GetPass());
     NUnit.Framework.Assert.AreEqual(-1, u.GetPort());
     NUnit.Framework.Assert.AreEqual(str, u.ToPrivateString());
     NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
     NUnit.Framework.Assert.AreEqual(u, new URIish(str));
 }
開發者ID:nnieslan,項目名稱:ngit,代碼行數:15,代碼來源:URIishTest.cs

示例9: CanHandle

        /// <summary>Determine if this protocol can handle a particular URI.</summary>
        /// <remarks>
        /// Determine if this protocol can handle a particular URI.
        /// <p/>
        /// Implementations should try to avoid looking at the local filesystem, but
        /// may look at implementation specific configuration options in the remote
        /// block of
        /// <code>local.getConfig()</code>
        /// using
        /// <code>remoteName</code>
        /// if the name
        /// is non-null.
        /// <p/>
        /// The default implementation of this method matches the scheme against
        /// <see cref="GetSchemes()">GetSchemes()</see>
        /// , required fields against
        /// <see cref="GetRequiredFields()">GetRequiredFields()</see>
        /// , and optional fields against
        /// <see cref="GetOptionalFields()">GetOptionalFields()</see>
        /// , returning true only if all of the fields
        /// match the specification.
        /// </remarks>
        /// <param name="uri">address of the Git repository; never null.</param>
        /// <param name="local">
        /// the local repository that will communicate with the other Git
        /// repository. May be null if the caller is only asking about a
        /// specific URI and does not have a local Repository.
        /// </param>
        /// <param name="remoteName">
        /// name of the remote, if the remote as configured in
        /// <code>local</code>
        /// ; otherwise null.
        /// </param>
        /// <returns>true if this protocol can handle this URI; false otherwise.</returns>
        public virtual bool CanHandle(URIish uri, Repository local, string remoteName)
        {
            if (!GetSchemes().IsEmpty() && !GetSchemes().Contains(uri.GetScheme()))
            {
                return false;
            }
            foreach (TransportProtocol.URIishField field in GetRequiredFields())
            {
                switch (field)
                {
                    case TransportProtocol.URIishField.USER:
                    {
                        if (uri.GetUser() == null || uri.GetUser().Length == 0)
                        {
                            return false;
                        }
                        break;
                    }

                    case TransportProtocol.URIishField.PASS:
                    {
                        if (uri.GetPass() == null || uri.GetPass().Length == 0)
                        {
                            return false;
                        }
                        break;
                    }

                    case TransportProtocol.URIishField.HOST:
                    {
                        if (uri.GetHost() == null || uri.GetHost().Length == 0)
                        {
                            return false;
                        }
                        break;
                    }

                    case TransportProtocol.URIishField.PORT:
                    {
                        if (uri.GetPort() <= 0)
                        {
                            return false;
                        }
                        break;
                    }

                    case TransportProtocol.URIishField.PATH:
                    {
                        if (uri.GetPath() == null || uri.GetPath().Length == 0)
                        {
                            return false;
                        }
                        break;
                    }

                    default:
                    {
                        return false;
                        break;
                    }
                }
            }
            ICollection<TransportProtocol.URIishField> canHave = EnumSet.CopyOf(GetRequiredFields
                ());
            Sharpen.Collections.AddAll(canHave, GetOptionalFields());
            if (uri.GetUser() != null && !canHave.Contains(TransportProtocol.URIishField.USER
//.........這裏部分代碼省略.........
開發者ID:sharwell,項目名稱:ngit,代碼行數:101,代碼來源:TransportProtocol.cs

示例10: Authorize

        /// <summary>Update this method with the credentials from the URIish.</summary>
        /// <remarks>Update this method with the credentials from the URIish.</remarks>
        /// <param name="uri">the URI used to create the connection.</param>
        /// <param name="credentialsProvider">
        /// the credentials provider, or null. If provided,
        /// <see cref="URIish.GetPass()">credentials in the URI</see>
        /// are ignored.
        /// </param>
        /// <returns>
        /// true if the authentication method is able to provide
        /// authorization for the given URI
        /// </returns>
        internal virtual bool Authorize(URIish uri, CredentialsProvider credentialsProvider
            )
        {
            string username;
            string password;
            if (credentialsProvider != null)
            {
                CredentialItem.Username u = new CredentialItem.Username();
                CredentialItem.Password p = new CredentialItem.Password();
                if (credentialsProvider.Supports(u, p) && credentialsProvider.Get(uri, u, p))
                {
                    username = u.GetValue();
                    password = new string(p.GetValue());
                    p.Clear();
                }
                else
                {
                    return false;
                }
            }
            else
            {
                username = uri.GetUser();
                password = uri.GetPass();
            }
            if (username != null)
            {
                Authorize(username, password);
                return true;
            }
            return false;
        }
開發者ID:sharwell,項目名稱:ngit,代碼行數:44,代碼來源:HttpAuthMethod.cs

示例11: TestALot

        public virtual void TestALot()
        {
            // user pass host port path
            // 1 2 3 4 5
            string[][] tests = new string[][] { new string[] { "%1$s://%2$s:%[email protected]%4$s:%5$s/%6$s"
                , "%1$s", "%2$s", "%3$s", "%4$s", "%5$s", "%6$s" }, new string[] { "%1$s://%[email protected]%4$s:%5$s/%6$s"
                , "%1$s", "%2$s", null, "%4$s", "%5$s", "%6$s" }, new string[] { "%1$s://%[email protected]%4$s/%6$s"
                , "%1$s", "%2$s", null, "%4$s", null, "%6$s" }, new string[] { "%1$s://%4$s/%6$s"
                , "%1$s", null, null, "%4$s", null, "%6$s" } };
            
            for (int i = 0; i < tests.Length; i++) {
                for (int j = 0; j < tests [i].Length; j++) {
                    for (int k = 0; k < 10; k++) {
                        if (tests[i][j] != null)
                            tests [i][j] = tests[i][j].Replace ("%" + k + "$s", "{" + (k - 1) + "}");
                    }
                }
            }
            
            string[] schemes = new string[] { "ssh", "ssh+git", "http", "https" };
            string[] users = new string[] { "me", "l usr\\example.com", "lusr\\example" };
            string[] passes = new string[] { "wtf" };
            string[] hosts = new string[] { "example.com", "1.2.3.4" };
            string[] ports = new string[] { "1234", "80" };
            string[] paths = new string[] { "/", "/abc", "D:/x", "D:\\x" };
            foreach (string[] test in tests)
            {
                string fmt = test[0];
                foreach (string scheme in schemes)
                {
                    foreach (string user in users)
                    {
                        foreach (string pass in passes)
                        {
                            foreach (string host in hosts)
                            {
                                foreach (string port in ports)
                                {
                                    foreach (string path in paths)
                                    {
                                        string url = string.Format(fmt, scheme, user, pass, host, port, path);
                                        string[] expect = new string[test.Length];
                                        for (int i = 1; i < expect.Length; ++i)
                                        {
                                            if (test[i] != null)
                                            {
                                                expect[i] = string.Format(test[i], scheme, user, pass, host, port, path);
                                            }
                                        }
                                        URIish urIish = new URIish(url);
                                        NUnit.Framework.Assert.AreEqual(expect[1], urIish.GetScheme(), url);
                                        NUnit.Framework.Assert.AreEqual(expect[2], urIish.GetUser(), url);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
開發者ID:LunarLanding,項目名稱:ngit,代碼行數:60,代碼來源:URIishTest.cs

示例12: TestGetSet

        public virtual void TestGetSet()
        {
            string str = "ssh://DOMAIN\\user:[email protected]:33/some/p ath%20";
            URIish u = new URIish(str);
            u = u.SetHost(u.GetHost());
            u = u.SetPass(u.GetPass());
            u = u.SetPort(u.GetPort());
            NUnit.Framework.Assert.AreEqual("ssh", u.GetScheme());
            NUnit.Framework.Assert.IsTrue(u.IsRemote());
            u = u.SetRawPath(u.GetRawPath());
            NUnit.Framework.Assert.AreEqual("/some/p ath%20", u.GetRawPath());
            u = u.SetPath(u.GetPath());
            NUnit.Framework.Assert.AreEqual("/some/p ath ", u.GetRawPath());
            NUnit.Framework.Assert.AreEqual("/some/p ath ", u.GetPath());
            NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
            NUnit.Framework.Assert.AreEqual("DOMAIN\\user", u.GetUser());
            NUnit.Framework.Assert.AreEqual("pass", u.GetPass());
            NUnit.Framework.Assert.AreEqual(33, u.GetPort());
            NUnit.Framework.Assert.AreEqual("ssh://DOMAIN\\user:[email protected]:33/some/p ath "
                , u.ToPrivateString());
            NUnit.Framework.Assert.AreEqual("ssh://DOMAIN\\user:[email protected]:33/some/p%20ath%20"
                , u.ToPrivateASCIIString());
            NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
            NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateASCIIString(), u.ToASCIIString
                ());
            NUnit.Framework.Assert.AreEqual(u, new URIish(str));
        }
開發者ID:LunarLanding,項目名稱:ngit,代碼行數:27,代碼來源:URIishTest.cs

示例13: TestURIEncodeDecode

        public virtual void TestURIEncodeDecode()
        {
            string str = "ssh://%3ax%25:%40%[email protected]:33/some%c3%a5/p%20a th";
            URIish u = new URIish(str);
            NUnit.Framework.Assert.AreEqual("ssh", u.GetScheme());
            NUnit.Framework.Assert.IsTrue(u.IsRemote());
            NUnit.Framework.Assert.AreEqual("/some%c3%a5/p%20a th", u.GetRawPath());
            NUnit.Framework.Assert.AreEqual("/some\u00e5/p a th", u.GetPath());
            NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
            NUnit.Framework.Assert.AreEqual(":x%", u.GetUser());
            NUnit.Framework.Assert.AreEqual("@Ax", u.GetPass());
            NUnit.Framework.Assert.AreEqual(33, u.GetPort());
            NUnit.Framework.Assert.AreEqual("ssh://%3ax%25:%[email protected]:33/some%c3%a5/p%20a th"
                , u.ToPrivateString());
            NUnit.Framework.Assert.AreEqual("ssh://%3ax%25:%[email protected]:33/some%c3%a5/p%20a%20th"
                , u.ToPrivateASCIIString());
            NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
            NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateASCIIString(), u.ToASCIIString
                ());
            NUnit.Framework.Assert.AreEqual(u, new URIish(str));
        }
開發者ID:LunarLanding,項目名稱:ngit,代碼行數:21,代碼來源:URIishTest.cs

示例14: TestSshProtoWithEscapedADUserPassAndPort

        public virtual void TestSshProtoWithEscapedADUserPassAndPort()
        {
            string str = "ssh://DOMAIN%5c\u00fcser:[email protected]:33/some/p ath";
            URIish u = new URIish(str);
            NUnit.Framework.Assert.AreEqual("ssh", u.GetScheme());
            NUnit.Framework.Assert.IsTrue(u.IsRemote());
            NUnit.Framework.Assert.AreEqual("/some/p ath", u.GetRawPath());
            NUnit.Framework.Assert.AreEqual("/some/p ath", u.GetPath());
            NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
            NUnit.Framework.Assert.AreEqual("DOMAIN\\\u00fcser", u.GetUser());
            NUnit.Framework.Assert.AreEqual("pass", u.GetPass());
            NUnit.Framework.Assert.AreEqual(33, u.GetPort());
            NUnit.Framework.Assert.AreEqual("ssh://DOMAIN\\\u00fcser:[email protected]:33/some/p ath"
                , u.ToPrivateString());
            NUnit.Framework.Assert.AreEqual("ssh://DOMAIN\\%c3%bcser:[email protected]:33/some/p%20ath"
                , u.ToPrivateASCIIString());
            NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateString(), u.ToString());
            NUnit.Framework.Assert.AreEqual(u.SetPass(null).ToPrivateASCIIString(), u.ToASCIIString
                ());
            NUnit.Framework.Assert.AreEqual(u, new URIish(str));
        }
開發者ID:LunarLanding,項目名稱:ngit,代碼行數:21,代碼來源:URIishTest.cs

示例15: TestSshProtoWithUserAndPort

        public virtual void TestSshProtoWithUserAndPort()
        {
            string str = "ssh://[email protected]:33/some/p ath";
            URIish u = new URIish(str);
            NUnit.Framework.Assert.AreEqual("ssh", u.GetScheme());
            NUnit.Framework.Assert.IsTrue(u.IsRemote());
            NUnit.Framework.Assert.AreEqual("/some/p ath", u.GetRawPath());
            NUnit.Framework.Assert.AreEqual("/some/p ath", u.GetPath());
            NUnit.Framework.Assert.AreEqual("example.com", u.GetHost());
            NUnit.Framework.Assert.AreEqual("user", u.GetUser());
            NUnit.Framework.Assert.IsNull(u.GetPass());
            NUnit.Framework.Assert.AreEqual(33, u.GetPort());
            NUnit.Framework.Assert.AreEqual("ssh://[email protected]:33/some/p ath", u.ToString
                ());
            NUnit.Framework.Assert.AreEqual("ssh://[email protected]:33/some/p%20ath", u.ToASCIIString
                ());
            NUnit.Framework.Assert.AreEqual(u, new URIish(str));
        }
開發者ID:LunarLanding,項目名稱:ngit,代碼行數:18,代碼來源:URIishTest.cs


注:本文中的NGit.Transport.URIish.GetUser方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。