diff --git a/src/packaging/licenses/__init__.py b/src/packaging/licenses/__init__.py index cebc6e6a..7f09dd96 100644 --- a/src/packaging/licenses/__init__.py +++ b/src/packaging/licenses/__init__.py @@ -49,8 +49,11 @@ class InvalidLicenseExpression(ValueError): def normalize_license_expression(raw_license_expression: str) -> str | None: - if not raw_license_expression: - return None + if raw_license_expression == "": + message = ( + f"Invalid license expression: {raw_license_expression}" + ) + raise InvalidLicenseExpression(message) license_refs = { ref.lower(): "LicenseRef-" + ref[11:] diff --git a/tests/test_metadata.py b/tests/test_metadata.py index e71e260e..5d8783e8 100644 --- a/tests/test_metadata.py +++ b/tests/test_metadata.py @@ -671,8 +671,6 @@ def test_optional_defaults_to_none(self, field_name): ("LicenseRef-Proprietary", "LicenseRef-Proprietary"), ("LicenseRef-Beerware-4.2", "LicenseRef-Beerware-4.2"), ("licenseref-beerware-4.2", "LicenseRef-beerware-4.2"), - ("", None), - (None, None), ], ) def test_valid_license_expression(self, license_expression, expected): @@ -684,6 +682,7 @@ def test_valid_license_expression(self, license_expression, expected): @pytest.mark.parametrize( "license_expression", [ + "", "Use-it-after-midnight", "LicenseRef-License with spaces", "LicenseRef-License_with_underscores",