示例#1
0
        public void StarMatchesZeroOrMore()
        {
            var factory = new PatternMatcherFactory();
            var matcher = factory.Create(new[] { "f*o" });

            Assert.IsTrue(matcher.IsMatch("/foo/"));
            Assert.IsTrue(matcher.IsMatch("/fooo/"));
            Assert.IsTrue(matcher.IsMatch("/fo/"));
        }
示例#2
0
        public void SimplePatternMatchesPath()
        {
            var factory = new PatternMatcherFactory();
            var matcher = factory.Create(new[] { "foo" });

            Assert.IsTrue(matcher.IsMatch("/foo/"));
            Assert.IsFalse(matcher.IsMatch("/fooo/"));
            Assert.IsFalse(matcher.IsMatch("/fo/"));
        }
示例#3
0
        public void DoubleStarMatchesAnyNumberOfFolders()
        {
            var factory = new PatternMatcherFactory();
            var matcher = factory.Create(new[] { "foo/**/quad" });

            Assert.IsTrue(matcher.IsMatch("/"));
            Assert.IsTrue(matcher.IsMatch("/foo/"));
            Assert.IsTrue(matcher.IsMatch("/foo/bar/"));
            Assert.IsTrue(matcher.IsMatch("/foo/bar/quux/"));
            Assert.IsTrue(matcher.IsMatch("/foo/bar/quux/quad/"));

            Assert.IsFalse(matcher.IsMatch("/foo/baaz/"));
        }
示例#4
0
        public void MultiplePartsMatchUpToAndAnythingUnder()
        {
            var factory = new PatternMatcherFactory();
            var matcher = factory.Create(new[] { "foo/bar" });

            Assert.IsTrue(matcher.IsMatch("/"));
            Assert.IsTrue(matcher.IsMatch("/foo/"));
            Assert.IsTrue(matcher.IsMatch("/foo/bar/"));
            Assert.IsTrue(matcher.IsMatch("/foo/bar/quux/"));
            Assert.IsTrue(matcher.IsMatch("/foo/bar/quux/quad/"));

            Assert.IsFalse(matcher.IsMatch("/foo/baaz/"));
        }