All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2s
25 lines
993 B
Python
25 lines
993 B
Python
from unittest import TestCase
|
|
|
|
from kpmatch import compile
|
|
|
|
|
|
def specificity(pattern: str) -> int:
|
|
return compile(pattern)[0].specificity
|
|
|
|
|
|
class SpecificityTests(TestCase):
|
|
def test_compare_specificity(self):
|
|
self.assertGreater(specificity("**"), specificity(""))
|
|
self.assertGreater(specificity("**/a"), specificity("**"))
|
|
self.assertGreater(specificity("**/a/file.txt"), specificity("**/a/*.txt"))
|
|
self.assertGreater(specificity("file.txt"), specificity("*.txt"))
|
|
self.assertGreater(specificity("*.txt"), specificity("*"))
|
|
self.assertGreater(specificity("image_???.png"), specificity("image_*.png"))
|
|
self.assertGreater(specificity("image.png"), specificity("image_???.png"))
|
|
|
|
self.assertEqual(specificity("**/a"), specificity("**/b"))
|
|
self.assertEqual(specificity("*.txt"), specificity("*.html"))
|
|
self.assertEqual(
|
|
specificity("image_?.png"), specificity("image_[0123456789].png")
|
|
)
|