@@ -356,13 +356,13 @@ def bootstrap_name(self):
356356 @mock .patch ("pythonforandroid.bootstraps.qt.open" , create = True )
357357 @mock .patch ("pythonforandroid.bootstraps.service_only.open" , create = True )
358358 @mock .patch ("pythonforandroid.bootstraps.webview.open" , create = True )
359- @mock .patch ("pythonforandroid.bootstraps.sdl2 .open" , create = True )
359+ @mock .patch ("pythonforandroid.bootstraps._sdl_common .open" , create = True )
360360 @mock .patch ("pythonforandroid.distribution.open" , create = True )
361361 @mock .patch ("pythonforandroid.bootstrap.Bootstrap.strip_libraries" )
362362 @mock .patch ("pythonforandroid.util.exists" )
363363 @mock .patch ("pythonforandroid.util.chdir" )
364364 @mock .patch ("pythonforandroid.bootstrap.listdir" )
365- @mock .patch ("pythonforandroid.bootstraps.sdl2 .rmdir" )
365+ @mock .patch ("pythonforandroid.bootstraps._sdl_common .rmdir" )
366366 @mock .patch ("pythonforandroid.bootstraps.service_only.rmdir" )
367367 @mock .patch ("pythonforandroid.bootstraps.webview.rmdir" )
368368 @mock .patch ("pythonforandroid.bootstrap.sh.cp" )
@@ -377,7 +377,7 @@ def test_assemble_distribution(
377377 mock_ensure_dir ,
378378 mock_strip_libraries ,
379379 mock_open_dist_files ,
380- mock_open_sdl2_files ,
380+ mock_open_sdl_files ,
381381 mock_open_webview_files ,
382382 mock_open_service_only_files ,
383383 mock_open_qt_files
@@ -418,7 +418,8 @@ def test_assemble_distribution(
418418
419419 mock_open_dist_files .assert_called_once_with ("dist_info.json" , "w" )
420420 mock_open_bootstraps = {
421- "sdl2" : mock_open_sdl2_files ,
421+ "sdl2" : mock_open_sdl_files ,
422+ "sdl3" : mock_open_sdl_files ,
422423 "webview" : mock_open_webview_files ,
423424 "service_only" : mock_open_service_only_files ,
424425 "qt" : mock_open_qt_files
@@ -428,6 +429,10 @@ def test_assemble_distribution(
428429 mock .call ("local.properties" , "w" ),
429430 mock .call ("blacklist.txt" , "a" ),
430431 ],
432+ "sdl3" : [
433+ mock .call ("local.properties" , "w" ),
434+ mock .call ("blacklist.txt" , "a" ),
435+ ],
431436 "webview" : [mock .call ("local.properties" , "w" )],
432437 "service_only" : [mock .call ("local.properties" , "w" )],
433438 "qt" : [mock .call ("local.properties" , "w" )]
@@ -441,7 +446,7 @@ def test_assemble_distribution(
441446 mock .call ().__enter__ ().write ("sdk.dir=/opt/android/android-sdk" ),
442447 mock_open_bs .mock_calls ,
443448 )
444- if self .bootstrap_name == "sdl2" :
449+ if self .bootstrap_name in [ "sdl2" , "sdl3" ] :
445450 self .assertIn (
446451 mock .call ()
447452 .__enter__ ()
@@ -624,6 +629,18 @@ def bootstrap_name(self):
624629 return "sdl2"
625630
626631
632+ class TestBootstrapSdl3 (GenericBootstrapTest , unittest .TestCase ):
633+ """
634+ An inherited class of `GenericBootstrapTest` and `unittest.TestCase` which
635+ will be used to perform tests for
636+ :class:`~pythonforandroid.bootstraps.sdl3.BootstrapSdl3`.
637+ """
638+
639+ @property
640+ def bootstrap_name (self ):
641+ return "sdl3"
642+
643+
627644class TestBootstrapServiceOnly (GenericBootstrapTest , unittest .TestCase ):
628645 """
629646 An inherited class of `GenericBootstrapTest` and `unittest.TestCase` which
0 commit comments