fix: update test imports to use gitignore_generator module instead of src
This commit is contained in:
63
tests/test_validator.py
Normal file
63
tests/test_validator.py
Normal file
@@ -0,0 +1,63 @@
|
||||
from gitignore_generator.validator import validator, Validator, ValidationIssue
|
||||
|
||||
|
||||
class TestValidator:
|
||||
def test_validate_empty_content(self):
|
||||
result = validator.validate_content("")
|
||||
assert len(result) == 0
|
||||
|
||||
def test_validate_valid_patterns(self):
|
||||
content = "__pycache__\n*.pyc\n*.log"
|
||||
issues = validator.validate_content(content)
|
||||
assert len(issues) == 0
|
||||
|
||||
def test_validate_trailing_slash(self):
|
||||
content = "dir/"
|
||||
issues = validator.validate_content(content)
|
||||
assert len(issues) > 0
|
||||
assert any(i.issue_type == "trailing_slash" for i in issues)
|
||||
|
||||
def test_validate_backslash_escape(self):
|
||||
content = "pattern\\n"
|
||||
issues = validator.validate_content(content)
|
||||
assert len(issues) > 0
|
||||
assert any(i.issue_type == "invalid_escape" for i in issues)
|
||||
|
||||
def test_validate_duplicate_patterns(self):
|
||||
content = "__pycache__\n__pycache__"
|
||||
issues = validator.validate_content(content)
|
||||
assert len(issues) > 0
|
||||
assert any(i.issue_type == "duplicate" for i in issues)
|
||||
|
||||
def test_validate_wildcard_usage(self):
|
||||
content = "a/**/b"
|
||||
issues = validator.validate_content(content)
|
||||
assert len(issues) > 0
|
||||
assert any(i.issue_type == "double_star" for i in issues)
|
||||
|
||||
def test_is_valid_valid(self):
|
||||
assert validator.is_valid("__pycache__\n*.pyc")
|
||||
|
||||
def test_is_valid_invalid(self):
|
||||
assert not validator.is_valid("pattern\\n")
|
||||
|
||||
def test_get_summary(self):
|
||||
content = "__pycache__\n*.pyc"
|
||||
summary = validator.get_summary(content)
|
||||
assert summary["valid"]
|
||||
assert summary["errors"] == 0
|
||||
assert summary["warnings"] == 0
|
||||
|
||||
def test_validate_pattern(self):
|
||||
issue = validator.validate_pattern("valid_pattern")
|
||||
assert issue is None
|
||||
|
||||
def test_validate_pattern_invalid(self):
|
||||
issue = validator.validate_pattern("pattern\\n")
|
||||
assert issue is not None
|
||||
assert issue.severity == "error"
|
||||
|
||||
def test_init_validator(self):
|
||||
v = Validator()
|
||||
assert v.issues == []
|
||||
assert v.warnings == []
|
||||
Reference in New Issue
Block a user