(validators.metadata_platforms, ["ObscureUnix", "RareDOS" ], ["ObscureUnix", "RareDOS"]), # metadata/supported-platforms (validators.metadata_supported_platforms, ["RedHat 7.2", "i386-win32-2791"], ["RedHat 7.2", "i386-win32-2791"]), # dependencies/python (validators.dependencies_python, ">=2.6", ">=2.6"), # dependencies/extras (validators.dependencies_extras, ["tests", "docs"], ["tests", "docs"]), # dependencies/setup-requires (validators.dependencies_setup_requires, ["custom_setup_command"], [VersionPredicate("custom_setup_command")]), # dependencies/requires (validators.dependencies_requires, ["pkginfo", "PasteDeploy", "zope.interface (>3.5.0)"], [ VersionPredicate("pkginfo"), VersionPredicate("PasteDeploy"), VersionPredicate("zope.interface (>3.5.0)") ]), # dependencies/provides (validators.dependencies_provides, ["packaging (0.1)"], [VersionPredicate("packaging (0.1)")]), # dependencies/obsoletes (validators.dependencies_obsoletes, ["distutils"],
def test_predicate_name(predicate, expected): assert VersionPredicate(predicate).name == expected
def test_micro_predicate(): predicate = VersionPredicate("zope.event (3.4.0)") assert predicate.match("3.4.0") assert not predicate.match("3.4.1")
def test_predicates_match(predicate, target, matches): assert VersionPredicate(predicate).match(target) == matches
def test_invalid_predicate_raises(): with pytest.raises(ValueError): VersionPredicate("")
def test_str_predicate(predicate): assert str(VersionPredicate(predicate)) == predicate
def test_repr_predicate(predicate): assert repr( VersionPredicate(predicate)) == "VersionPredicate('%s')" % predicate
def test_basic_predicate(predicate, name, predicates): pred = VersionPredicate(predicate) assert pred.name == name assert pred.predicates == predicates