upload existing project
This commit is contained in:
74
test/match.py
Normal file
74
test/match.py
Normal file
@@ -0,0 +1,74 @@
|
||||
from unittest import TestCase
|
||||
|
||||
import kpmatch
|
||||
|
||||
|
||||
class MatchTests(TestCase):
|
||||
def test_match_empty(self):
|
||||
pattern = kpmatch.compile("")
|
||||
self.assertTrue(pattern.match(""))
|
||||
self.assertFalse(pattern.match("index.html"))
|
||||
self.assertFalse(pattern.match("about"))
|
||||
self.assertFalse(pattern.match("about/about.html"))
|
||||
self.assertFalse(pattern.match("content/deep/deeper/file.txt"))
|
||||
|
||||
def test_match_any(self):
|
||||
pattern = kpmatch.compile("**")
|
||||
self.assertTrue(pattern.match(""))
|
||||
self.assertTrue(pattern.match("index.html"))
|
||||
self.assertTrue(pattern.match("about"))
|
||||
self.assertTrue(pattern.match("about/about.html"))
|
||||
self.assertTrue(pattern.match("content/deep/deeper/file.txt"))
|
||||
|
||||
def test_match_any_name(self):
|
||||
pattern = kpmatch.compile("*.html")
|
||||
self.assertTrue(pattern.match("index.html"))
|
||||
self.assertTrue(pattern.match("about.html"))
|
||||
self.assertFalse(pattern.match("about"))
|
||||
self.assertFalse(pattern.match("about/about.html"))
|
||||
self.assertFalse(pattern.match("content/deep/deeper/file.txt"))
|
||||
|
||||
def test_match_any_name_anywhere(self):
|
||||
pattern = kpmatch.compile("**/*.html")
|
||||
self.assertTrue(pattern.match("index.html"))
|
||||
self.assertTrue(pattern.match("about.html"))
|
||||
self.assertFalse(pattern.match("about"))
|
||||
self.assertTrue(pattern.match("about/about.html"))
|
||||
self.assertTrue(pattern.match("docs/getting-started/installation.html"))
|
||||
self.assertFalse(pattern.match("content/deep/deeper/file.txt"))
|
||||
|
||||
def test_match_any_directory_name(self):
|
||||
pattern = kpmatch.compile("packages/*/package.json")
|
||||
self.assertFalse(pattern.match("packages/package.json"))
|
||||
self.assertTrue(pattern.match("packages/a/package.json"))
|
||||
self.assertTrue(pattern.match("packages/b/package.json"))
|
||||
self.assertFalse(pattern.match("packages/a/b/package.json"))
|
||||
|
||||
def test_match_one_of(self):
|
||||
pattern = kpmatch.compile("*.{png,jpg,jpeg,webp}")
|
||||
self.assertTrue(pattern.match("image.png"))
|
||||
self.assertTrue(pattern.match("image.jpg"))
|
||||
self.assertTrue(pattern.match("image.jpeg"))
|
||||
self.assertTrue(pattern.match("image.webp"))
|
||||
self.assertFalse(pattern.match("image.svg"))
|
||||
|
||||
def test_match_character_set(self):
|
||||
pattern = kpmatch.compile("*.[jt]s")
|
||||
self.assertTrue(pattern.match("file.js"))
|
||||
self.assertTrue(pattern.match("file.ts"))
|
||||
self.assertFalse(pattern.match("file.rs"))
|
||||
self.assertFalse(pattern.match("file.cs"))
|
||||
|
||||
def test_match_negative_character_set(self):
|
||||
pattern = kpmatch.compile("*.[!jt]s")
|
||||
self.assertFalse(pattern.match("file.js"))
|
||||
self.assertFalse(pattern.match("file.ts"))
|
||||
self.assertTrue(pattern.match("file.rs"))
|
||||
self.assertTrue(pattern.match("file.cs"))
|
||||
|
||||
def test_match_any_character(self):
|
||||
pattern = kpmatch.compile("*.?s")
|
||||
self.assertTrue(pattern.match("file.js"))
|
||||
self.assertTrue(pattern.match("file.ts"))
|
||||
self.assertTrue(pattern.match("file.rs"))
|
||||
self.assertTrue(pattern.match("file.cs"))
|
||||
Reference in New Issue
Block a user