@@ -2537,6 +2537,45 @@ def test_validation_invalid_license_exception_strict_false(self):
25372537 assert result .errors == []
25382538 assert result .invalid_symbols == []
25392539
2540+ def test_validate_trailing_and_operator (self ):
2541+ result = self .licensing .validate ("GPL-2.0-or-later AND" )
2542+ assert result .original_expression == "GPL-2.0-or-later AND"
2543+ assert not result .normalized_expression
2544+ assert len (result .errors ) == 1
2545+ assert "AND" in result .errors [0 ]
2546+
2547+ def test_validate_trailing_or_operator (self ):
2548+ result = self .licensing .validate ("GPL-2.0-or-later OR" )
2549+ assert result .original_expression == "GPL-2.0-or-later OR"
2550+ assert not result .normalized_expression
2551+ assert len (result .errors ) == 1
2552+ assert "OR" in result .errors [0 ]
2553+
2554+ def test_validate_trailing_with_operator (self ):
2555+ result = self .licensing .validate ("GPL-2.0-or-later WITH" )
2556+ assert result .original_expression == "GPL-2.0-or-later WITH"
2557+ assert not result .normalized_expression
2558+ assert len (result .errors ) == 1
2559+
2560+ def test_validate_multiple_trailing_operators (self ):
2561+ result = self .licensing .validate ("GPL-2.0-or-later AND MIT OR" )
2562+ assert result .original_expression == "GPL-2.0-or-later AND MIT OR"
2563+ assert not result .normalized_expression
2564+ assert len (result .errors ) == 1
2565+ assert "OR" in result .errors [0 ]
2566+
2567+ def test_validate_leading_operator (self ):
2568+ result = self .licensing .validate ("AND MIT" )
2569+ assert result .original_expression == "AND MIT"
2570+ assert not result .normalized_expression
2571+ assert len (result .errors ) == 1
2572+
2573+ def test_validate_only_operators (self ):
2574+ result = self .licensing .validate ("AND OR" )
2575+ assert result .original_expression == "AND OR"
2576+ assert not result .normalized_expression
2577+ assert len (result .errors ) == 1
2578+
25402579
25412580class UtilTest (TestCase ):
25422581 test_data_dir = join (dirname (__file__ ), "data" )
0 commit comments