Esempio n. 1
0
            public void AddDirectory(string name, bool keepDir)
            {
                if (string.IsNullOrEmpty(name))
                {
                    throw new ArgumentNullException("name");
                }
                else if (!SvnTools.IsNormalizedFullPath(name))
                {
                    throw new ArgumentException("Not a normalized full path", "name");
                }

                _directories.Add(name, keepDir);
            }
Esempio n. 2
0
        public void Path_TestNormalizationTesters()
        {
            Assert.That(SvnTools.IsNormalizedFullPath("a:\\"), Is.False, "a:\\ is not normalized");
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\"), Is.True, "A:\\ is normalized");
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\\\"), Is.False, "A:\\\\ is not normalized");
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\.\\"), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\..\\"), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\...\\"), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\..."), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\.svn"), Is.True);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\.svn\\"), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\\\t.svn"), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("A:\\.....svn"), Is.True);

            Assert.That(SvnTools.GetTruePath("c:\\"), Is.EqualTo("C:\\"));
            Assert.That(SvnTools.GetTruePath("c:\\" + Guid.NewGuid()), Is.Null);
            Assert.That(SvnTools.GetTruePath("c:\\-never-exists-", true), Is.Not.Null);

            Assert.That(SvnTools.IsAbsolutePath("a:\\"), Is.True);
            Assert.That(SvnTools.IsAbsolutePath("A:\\"), Is.True);
            Assert.That(SvnTools.IsAbsolutePath("A:\\\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath("A:\\B"), Is.True);
            Assert.That(SvnTools.IsAbsolutePath("A:\\B\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath("a:/sdfsdfsd"), Is.True);
            Assert.That(SvnTools.IsAbsolutePath("A:\\dfsdfds"), Is.True);

            Assert.That(SvnTools.IsAbsolutePath("a:"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath("A:file"), Is.False);
            Assert.That(Path.IsPathRooted("a:"), Is.True);
            Assert.That(Path.IsPathRooted("A:file"), Is.True);

            Assert.That(SvnTools.IsNormalizedFullPath(@"\\SERVER\path"), Is.False, @"\\SERVER\path");
            Assert.That(SvnTools.IsNormalizedFullPath(@"\\server\path\"), Is.False, @"\\server\path\");
            Assert.That(SvnTools.IsNormalizedFullPath(@"\\server\path"), Is.True, @"\\server\path");
            Assert.That(SvnTools.IsNormalizedFullPath(@"\\server\Path"), Is.True, @"\\server\Path");
            Assert.That(SvnTools.IsNormalizedFullPath(@"\\server\path\file"), Is.True);

            Assert.That(SvnTools.IsAbsolutePath(@"\\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\path"), Is.True);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\path\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\path\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\path\dir"), Is.True);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\path\dir\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\path\dir\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\\server\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath(@"\server"), Is.False);
        }
Esempio n. 3
0
        public void Path_NormalizingPathsDot()
        {
            Assert.That(SvnTools.IsNormalizedFullPath("C:\\source\\."), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("C:\\source\\.\\"), Is.False);
            Assert.That(SvnTools.IsNormalizedFullPath("C:\\source\\.\\dump"), Is.False);

            Assert.That(SvnTools.IsAbsolutePath("C:\\source\\."), Is.False);
            Assert.That(SvnTools.IsAbsolutePath("C:\\source\\.\\"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath("C:\\source\\.\\dump"), Is.False);

            Assert.That(SvnPathTarget.FromString("C:\\source\\.").TargetPath, Is.EqualTo("C:\\source"));
            Assert.That(SvnPathTarget.FromString("C:\\source\\.\\").TargetPath, Is.EqualTo("C:\\source"));
            Assert.That(SvnPathTarget.FromString("C:\\source\\.\\dump").TargetPath, Is.EqualTo("C:\\source\\dump"));

            Assert.That(SvnTools.IsNormalizedFullPath("c:\\source"), Is.False);
            Assert.That(SvnTools.IsAbsolutePath("c:\\source"), Is.True);

            Assert.That(SvnPathTarget.FromString("c:\\source\\.").TargetPath, Is.EqualTo("C:\\source"));
            Assert.That(SvnPathTarget.FromString("c:\\source\\.\\").TargetPath, Is.EqualTo("C:\\source"));
            Assert.That(SvnPathTarget.FromString("c:\\source\\.\\dump").TargetPath, Is.EqualTo("C:\\source\\dump"));
        }
Esempio n. 4
0
        public void Path_NormalizePathSharp()
        {
            Assert.That(SvnTools.GetNormalizedFullPath("c:\\a\\..\\123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\\"),
                        Is.EqualTo("C:\\123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"));

            Assert.That(SvnTools.GetNormalizedFullPath("C:\\123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"),
                        Is.EqualTo("C:\\123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"), "Shortcut route via IsNormalized");


            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\asdasdashdadhjadjahjdhasjhajhfasdjsdf\\sdsdfsdfsdfgsdjhfsda hjsdsdf sdaf\\sad sad sad f\\"),
                        Is.EqualTo("C:\\asdasdashdadhjadjahjdhasjhajhfasdjsdf\\sdsdfsdfsdfgsdjhfsda hjsdsdf sdaf"));

            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\\\"), Is.Null);
            string drive = Environment.CurrentDirectory.Substring(0, 2).ToLowerInvariant();

            Assert.That(SvnTools.GetNormalizedDirectoryName(drive), Is.EqualTo(drive.ToUpperInvariant() + Path.GetDirectoryName(Environment.CurrentDirectory).Substring(2))); // CWD on current drive
            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName("c:\\a"), Is.EqualTo("C:\\"));

            Assert.That(Path.GetDirectoryName(@"\\Server\Share\Path"), Is.EqualTo(@"\\Server\Share"));
            Assert.That(Path.GetDirectoryName(@"\\Server\Share"), Is.Null);

            Assert.That(Path.GetDirectoryName(@"C:\Dir\Sub\"), Is.EqualTo(@"C:\Dir\Sub"));
            Assert.That(Path.GetDirectoryName(@"C:\Dir\Sub"), Is.EqualTo(@"C:\Dir"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\Server\Share\Path"), Is.EqualTo(@"\\server\Share"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\Server\Share"), Is.Null);

            Assert.That(Path.GetDirectoryName(@"\\server\c$"), Is.Null);
            Assert.That(Path.GetDirectoryName(@"\\server\c$\\"), Is.EqualTo(@"\\server\c$"));

            Assert.That(SvnTools.GetNormalizedFullPath(@"\\server\c$"), Is.EqualTo(@"\\server\c$"));
            Assert.That(SvnTools.GetNormalizedFullPath(@"\\seRver\c$\"), Is.EqualTo(@"\\server\c$"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\server\c$"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\server\c$\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\seRver\c$\\"), Is.Null);

            string share = @"\\" + Environment.MachineName.ToLowerInvariant() + @"\C$";
            string shaUC = @"\\" + Environment.MachineName.ToUpperInvariant() + @"\C$";

            Assert.That(SvnTools.IsNormalizedFullPath(share));
            Assert.That(!SvnTools.IsNormalizedFullPath(shaUC));
            Assert.That(!SvnTools.IsNormalizedFullPath(share + "\\"));
            Assert.That(!SvnTools.IsNormalizedFullPath(shaUC + "\\"));

            Assert.That(SvnTools.GetTruePath(share + "\\A\\B", true), Is.EqualTo(share + "\\A\\B"));
            Assert.That(SvnTools.GetTruePath(share + "\\A", true), Is.EqualTo(share + "\\A"));
            Assert.That(SvnTools.GetTruePath(share, true), Is.EqualTo(share));
            Assert.That(SvnTools.GetTruePath(share + "\\", true), Is.EqualTo(share));

            Assert.That(SvnTools.GetTruePath("C:\\A", true), Is.EqualTo("C:\\A"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir\\"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir\\"), Is.EqualTo(@"C:\sub"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir\\"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir\\"), Is.EqualTo(@"C:\sub"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));
        }
Esempio n. 5
0
        public void Path_NormalizePathSharp()
        {
            Assert.That(SvnTools.GetNormalizedFullPath("c:\\a\\..\\123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\\"),
                        Is.EqualTo("C:\\123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"));

            Assert.That(SvnTools.GetNormalizedFullPath("C:\\123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                                       "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"),
                        Is.EqualTo("C:\\123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +
                                   "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"), "Shortcut route via IsNormalized");

            if (File.Exists("C:\\Progra~1"))
            {
                Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\Progra~1"), Is.EqualTo("C:\\Program Files"));
            }

            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\asdasdashdadhjadjahjdhasjhajhfasdjsdf\\sdsdfsdfsdfgsdjhfsda hjsdsdf sdaf\\sad sad sad f\\"),
                        Is.EqualTo("C:\\asdasdashdadhjadjahjdhasjhajhfasdjsdf\\sdsdfsdfsdfgsdjhfsda hjsdsdf sdaf"));

            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\\\"), Is.Null);
            string drive  = Environment.CurrentDirectory.Substring(0, 2).ToLowerInvariant();
            var    curDir = Environment.CurrentDirectory;

            if (curDir.Contains("~"))
            {
                // This case triggers on the GitHub bot
                curDir = SvnTools.GetNormalizedFullPath(curDir);
            }
            Assert.That(SvnTools.GetNormalizedDirectoryName(drive), Is.EqualTo(drive.ToUpperInvariant() + Path.GetDirectoryName(curDir).Substring(2))); // CWD on current drive
            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName("C:\\\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName("c:\\a"), Is.EqualTo("C:\\"));

            Assert.That(Path.GetDirectoryName(@"\\Server\Share\Path"), Is.EqualTo(@"\\Server\Share"));
            Assert.That(Path.GetDirectoryName(@"\\Server\Share"), Is.Null);

            Assert.That(Path.GetDirectoryName(@"C:\Dir\Sub\"), Is.EqualTo(@"C:\Dir\Sub"));
            Assert.That(Path.GetDirectoryName(@"C:\Dir\Sub"), Is.EqualTo(@"C:\Dir"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\Server\Share\Path"), Is.EqualTo(@"\\server\Share"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\Server\Share"), Is.Null);

            Assert.That(Path.GetDirectoryName(@"\\server\c$"), Is.Null);
            Assert.That(Path.GetDirectoryName(@"\\server\c$\\"), Is.EqualTo(@"\\server\c$"));

            Assert.That(SvnTools.GetNormalizedFullPath(@"\\server\c$"), Is.EqualTo(@"\\server\c$"));
            Assert.That(SvnTools.GetNormalizedFullPath(@"\\seRver\c$\"), Is.EqualTo(@"\\server\c$"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\server\c$"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\server\c$\\"), Is.Null);
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"\\seRver\c$\\"), Is.Null);

            string share = @"\\" + Environment.MachineName.ToLowerInvariant() + @"\C$";
            string shaUC = @"\\" + Environment.MachineName.ToUpperInvariant() + @"\C$";

            Assert.That(SvnTools.IsNormalizedFullPath(share));
            Assert.That(!SvnTools.IsNormalizedFullPath(shaUC));
            Assert.That(!SvnTools.IsNormalizedFullPath(share + "\\"));
            Assert.That(!SvnTools.IsNormalizedFullPath(shaUC + "\\"));

            Assert.That(SvnTools.GetTruePath(share + "\\A\\B", true), Is.EqualTo(share + "\\A\\B"));
            Assert.That(SvnTools.GetTruePath(share + "\\A", true), Is.EqualTo(share + "\\A"));
            Assert.That(SvnTools.GetTruePath(share, true), Is.EqualTo(share));
            Assert.That(SvnTools.GetTruePath(share + "\\", true), Is.EqualTo(share));

            Assert.That(SvnTools.GetTruePath("C:\\A", true), Is.EqualTo("C:\\A"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir\\"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir\\"), Is.EqualTo(@"C:\sub"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\dir\\"), Is.EqualTo(@"C:\"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"C:\sub\dir\\"), Is.EqualTo(@"C:\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(@"c:\sub\dir\\"), Is.EqualTo(@"C:\sub"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));

            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\dir\\"), Is.EqualTo(share));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(share + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));
            Assert.That(SvnTools.GetNormalizedDirectoryName(shaUC + @"\sub\dir\\"), Is.EqualTo(share + @"\sub"));

            Assert.That(SvnTools.GetNormalizedFullPath("c:\\"), Is.EqualTo("C:\\"));
            Assert.That(SvnTools.GetNormalizedFullPath("C:\\"), Is.EqualTo("C:\\"));
            Assert.That(SvnTools.GetNormalizedFullPath("C:"), Does.StartWith("C:\\"));
            Assert.That(SvnTools.GetNormalizedFullPath("c:"), Does.StartWith("C:\\"));
        }