@@ -1380,10 +1380,11 @@ mod tests {
13801380
13811381 use super :: {
13821382 extract_package_archive, package_native_cli, precompile_packaged_wasm_for_target,
1383- PackageOptions , PACKAGE_SHARE_DIR ,
1383+ selected_php_manifest , PackageOptions , PACKAGE_SHARE_DIR ,
13841384 } ;
13851385 use crate :: {
1386- assets:: { load_php_assets_manifest, select_php_asset} ,
1386+ args:: SUPPORTED_PHP_VERSIONS ,
1387+ assets:: { load_php_assets_manifest, select_php_asset, AssetManifest , FileAsset , PhpAsset } ,
13871388 sha256:: sha256_hex,
13881389 } ;
13891390 use zip:: { write:: SimpleFileOptions , CompressionMethod , ZipWriter } ;
@@ -1571,6 +1572,48 @@ mod tests {
15711572 ) ;
15721573 }
15731574
1575+ fn fake_php_asset ( version : & str ) -> PhpAsset {
1576+ let normalized = version. replace ( '.' , "_" ) ;
1577+ PhpAsset {
1578+ version : version. to_string ( ) ,
1579+ runtime : None ,
1580+ js : FileAsset {
1581+ path : PathBuf :: from ( format ! ( "php_{normalized}.js" ) ) ,
1582+ sha256 : "0" . repeat ( 64 ) ,
1583+ } ,
1584+ wasm : FileAsset {
1585+ path : PathBuf :: from ( format ! ( "php_{normalized}.wasm" ) ) ,
1586+ sha256 : "0" . repeat ( 64 ) ,
1587+ } ,
1588+ wasmtime : None ,
1589+ }
1590+ }
1591+
1592+ #[ test]
1593+ fn default_selection_includes_every_supported_php_version ( ) {
1594+ let mut php = vec ! [ fake_php_asset( "5.2" ) ] ;
1595+ php. extend (
1596+ SUPPORTED_PHP_VERSIONS
1597+ . iter ( )
1598+ . map ( |version| fake_php_asset ( version) ) ,
1599+ ) ;
1600+ php. push ( fake_php_asset ( "9.9" ) ) ;
1601+ let manifest = AssetManifest {
1602+ schema_version : 1 ,
1603+ runtime : "node-builds/asyncify" . to_string ( ) ,
1604+ php,
1605+ } ;
1606+
1607+ let selected = selected_php_manifest ( & manifest, & [ ] ) . unwrap ( ) ;
1608+ let versions = selected
1609+ . php
1610+ . iter ( )
1611+ . map ( |asset| asset. version . as_str ( ) )
1612+ . collect :: < Vec < _ > > ( ) ;
1613+
1614+ assert_eq ! ( versions, SUPPORTED_PHP_VERSIONS . to_vec( ) ) ;
1615+ }
1616+
15741617 #[ test]
15751618 fn packages_supported_assets_by_default ( ) {
15761619 let root = temp_dir ( "supported-asset-root" ) ;
0 commit comments