IsBaseOf() public method

public IsBaseOf ( Uri baseUri, Uri relativeUri ) : bool
baseUri Uri
relativeUri Uri
return bool
Example #1
0
        public static void IsBaseOf()
        {
            http = new Uri(full_http);
            TestUriParser parser = new TestUriParser();

            Assert.True(parser.IsBaseOf(http, http), "http-http");

            Uri u = new Uri("http://www.mono-project.com/Main_Page#FAQ");

            Assert.True(parser.IsBaseOf(u, http), "http-1a");
            Assert.True(parser.IsBaseOf(http, u), "http-1b");

            u = new Uri("http://www.mono-project.com/Main_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-2a");
            Assert.True(parser.IsBaseOf(http, u), "http-2b");

            u = new Uri("http://www.mono-project.com/");
            Assert.True(parser.IsBaseOf(u, http), "http-3a");
            Assert.True(parser.IsBaseOf(http, u), "http-3b");

            u = new Uri("http://www.mono-project.com/Main_Page/");
            Assert.False(parser.IsBaseOf(u, http), "http-4a");
            Assert.True(parser.IsBaseOf(http, u), "http-4b");

            // docs says the UserInfo isn't evaluated, but...
            u = new Uri("http://*****:*****@www.mono-project.com/Main_Page");
            Assert.False(parser.IsBaseOf(u, http), "http-5a");
            Assert.False(parser.IsBaseOf(http, u), "http-5b");

            // scheme case sensitive ? no
            u = new Uri("HTTP://www.mono-project.com/Main_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-6a");
            Assert.True(parser.IsBaseOf(http, u), "http-6b");

            // host case sensitive ? no
            u = new Uri("http://www.Mono-Project.com/Main_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-7a");
            Assert.True(parser.IsBaseOf(http, u), "http-7b");

            // path case sensitive ? no
            u = new Uri("http://www.Mono-Project.com/MAIN_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-8a");
            Assert.True(parser.IsBaseOf(http, u), "http-8b");

            // different scheme
            u = new Uri("ftp://www.mono-project.com/Main_Page");
            Assert.False(parser.IsBaseOf(u, http), "http-9a");
            Assert.False(parser.IsBaseOf(http, u), "http-9b");

            // different host
            u = new Uri("http://www.go-mono.com/Main_Page");
            Assert.False(parser.IsBaseOf(u, http), "http-10a");
            Assert.False(parser.IsBaseOf(http, u), "http-10b");

            // different port
            u = new Uri("http://www.mono-project.com:8080/");
            Assert.False(parser.IsBaseOf(u, http), "http-11a");
            Assert.False(parser.IsBaseOf(http, u), "http-11b");

            // specify default port
            u = new Uri("http://www.mono-project.com:80/");
            Assert.True(parser.IsBaseOf(u, http), "http-12a");
            Assert.True(parser.IsBaseOf(http, u), "http-12b");
        }
Example #2
0
        public static void IsBaseOf()
        {
            http = new Uri(full_http);
            TestUriParser parser = new TestUriParser();
            Assert.True(parser.IsBaseOf(http, http), "http-http");

            Uri u = new Uri("http://www.mono-project.com/Main_Page#FAQ");
            Assert.True(parser.IsBaseOf(u, http), "http-1a");
            Assert.True(parser.IsBaseOf(http, u), "http-1b");

            u = new Uri("http://www.mono-project.com/Main_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-2a");
            Assert.True(parser.IsBaseOf(http, u), "http-2b");

            u = new Uri("http://www.mono-project.com/");
            Assert.True(parser.IsBaseOf(u, http), "http-3a");
            Assert.True(parser.IsBaseOf(http, u), "http-3b");

            u = new Uri("http://www.mono-project.com/Main_Page/");
            Assert.False(parser.IsBaseOf(u, http), "http-4a");
            Assert.True(parser.IsBaseOf(http, u), "http-4b");

            // docs says the UserInfo isn't evaluated, but...
            u = new Uri("http://*****:*****@www.mono-project.com/Main_Page");
            Assert.False(parser.IsBaseOf(u, http), "http-5a");
            Assert.False(parser.IsBaseOf(http, u), "http-5b");

            // scheme case sensitive ? no
            u = new Uri("HTTP://www.mono-project.com/Main_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-6a");
            Assert.True(parser.IsBaseOf(http, u), "http-6b");

            // host case sensitive ? no
            u = new Uri("http://www.Mono-Project.com/Main_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-7a");
            Assert.True(parser.IsBaseOf(http, u), "http-7b");

            // path case sensitive ? no
            u = new Uri("http://www.Mono-Project.com/MAIN_Page");
            Assert.True(parser.IsBaseOf(u, http), "http-8a");
            Assert.True(parser.IsBaseOf(http, u), "http-8b");

            // different scheme
            u = new Uri("ftp://www.mono-project.com/Main_Page");
            Assert.False(parser.IsBaseOf(u, http), "http-9a");
            Assert.False(parser.IsBaseOf(http, u), "http-9b");

            // different host
            u = new Uri("http://www.go-mono.com/Main_Page");
            Assert.False(parser.IsBaseOf(u, http), "http-10a");
            Assert.False(parser.IsBaseOf(http, u), "http-10b");

            // different port
            u = new Uri("http://www.mono-project.com:8080/");
            Assert.False(parser.IsBaseOf(u, http), "http-11a");
            Assert.False(parser.IsBaseOf(http, u), "http-11b");

            // specify default port
            u = new Uri("http://www.mono-project.com:80/");
            Assert.True(parser.IsBaseOf(u, http), "http-12a");
            Assert.True(parser.IsBaseOf(http, u), "http-12b");
        }