From be8a6761af9ae26460bd1b305ecc69d3d8bb0b19 Mon Sep 17 00:00:00 2001 From: Ismo Vuorinen Date: Wed, 4 Jun 2025 12:12:55 +0300 Subject: [PATCH] test: expand version comparison tests (#118) --- local/bin/x-compare-versions.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/local/bin/x-compare-versions.py b/local/bin/x-compare-versions.py index f7647d7..e591216 100755 --- a/local/bin/x-compare-versions.py +++ b/local/bin/x-compare-versions.py @@ -46,9 +46,25 @@ def test(): assert vercmp("2.4 >= 2.4") assert vercmp("2.5 >= 2.4") assert vercmp("3 >= 2.999") - assert vercmp("2.9 < 2.9a") + assert vercmp("2.9a < 2.9") assert vercmp("2.9a >= 2.8") + # multiple comparisons in a single expression + assert vercmp("1.0 < 2.0 <= 2.0") + assert not vercmp("1.0 > 2.0 < 3.0") + + # mixed major/minor version comparisons + assert vercmp("2 >= 1.5") + assert not vercmp("1 < 1.0") + + # invalid operator should raise an error + try: + vercmp("1.0 <> 2.0") + except KeyError: + pass + else: + assert False, "invalid operator did not raise" + if __name__ == "__main__": if len(sys.argv) == 2 and sys.argv[1] == "test":