@@ -126,3 +126,28 @@ def test_get_install_to_run_with_range(patched_installs):
126126 i = installs .get_install_to_run ("<none>" , None , ">1.0" )
127127 assert i ["id" ] == "PythonCore-2.0-64"
128128 assert i ["executable" ].match ("python.exe" )
129+
130+
131+ def test_install_alias_make_alias_key ():
132+ assert ("python" , "w" , "3" , "-64" , ".exe" ) == installs ._make_alias_key ("pythonw3-64.exe" )
133+ assert ("python" , "w" , "3" , "" , ".exe" ) == installs ._make_alias_key ("pythonw3.exe" )
134+ assert ("pythonw3-xyz" , "" , "" , "" , ".exe" ) == installs ._make_alias_key ("pythonw3-xyz.exe" )
135+ assert ("python" , "" , "3" , "-64" , ".exe" ) == installs ._make_alias_key ("python3-64.exe" )
136+ assert ("python" , "" , "3" , "" , ".exe" ) == installs ._make_alias_key ("python3.exe" )
137+ assert ("python3-xyz" , "" , "" , "" , ".exe" ) == installs ._make_alias_key ("python3-xyz.exe" )
138+
139+
140+ def test_install_alias_opt_part ():
141+ assert "" == installs ._make_opt_part ([])
142+ assert "x" == installs ._make_opt_part (["x" ])
143+ assert "[x]" == installs ._make_opt_part (["x" , "" ])
144+ assert "[x|y]" == installs ._make_opt_part (["" , "y" , "x" ])
145+
146+
147+ def test_install_alias_names ():
148+ input = [{"name" : i } for i in ["py3.exe" , "PY3-64.exe" , "PYW3.exe" , "pyw3-64.exe" ]]
149+ input .extend ([{"name" : i , "windowed" : 1 } for i in ["xy3.exe" , "XY3-64.exe" , "XYW3.exe" , "xyw3-64.exe" ]])
150+ expect = ["py[w]3[-64].exe" ]
151+ expectw = ["py[w]3[-64].exe" , "xy[w]3[-64].exe" ]
152+ assert expect == installs .get_install_alias_names (input , friendly = True , windowed = False )
153+ assert expectw == installs .get_install_alias_names (input , friendly = True , windowed = True )
0 commit comments