コード例 #1
0
            public void scanner_generates_pathinfo()
            {
                const string basepath1 = "/base1";
                const string basepath2 = "base2";

                var scanner = new RouteScanner();
                var empty   = string.Empty;

                scanner.PathInfoGenerator("^/api/resource", empty).Equals("^/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("^api/resource", empty).Equals("^/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("/api/resource", empty).Equals("/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("api/resource", empty).Equals("/api/resource").ShouldBeTrue();

                scanner.PathInfoGenerator("^/api/resource", basepath1).Equals("^/base1/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("^api/resource", basepath1).Equals("^/base1/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("/api/resource", basepath1).Equals("/base1/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("api/resource", basepath1).Equals("/base1/api/resource").ShouldBeTrue();

                scanner.PathInfoGenerator("^/api/resource", basepath2).Equals("^/base2/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("^api/resource", basepath2).Equals("^/base2/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("/api/resource", basepath2).Equals("/base2/api/resource").ShouldBeTrue();
                scanner.PathInfoGenerator("api/resource", basepath2).Equals("/base2/api/resource").ShouldBeTrue();
            }