diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-21 03:55:22 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-21 03:55:22 +0900 |
| commit | d5334c9e88a1fc6e88c7609830351170bbcf5db3 (patch) | |
| tree | d7f9885d002fb0c174dcea6a3249dbbeab2b9918 /crates/shirabe/tests/util/ini_helper_test.rs | |
| parent | 27b73a9d4e27027bd34c0068989ce0609bdc6e9f (diff) | |
| download | php-shirabe-d5334c9e88a1fc6e88c7609830351170bbcf5db3.tar.gz php-shirabe-d5334c9e88a1fc6e88c7609830351170bbcf5db3.tar.zst php-shirabe-d5334c9e88a1fc6e88c7609830351170bbcf5db3.zip | |
test: port IniHelperTest and RepositoryUtilsTest
IniHelper cases reach XdebugHandler::get_all_ini_files (todo!()); RepositoryUtils
filterRequiredPackages is fully modeled but building linked packages via
ArrayLoader parses constraints with a look-around regex the regex crate cannot
compile. Both ignored. setUp/tearDown not ported.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/util/ini_helper_test.rs')
| -rw-r--r-- | crates/shirabe/tests/util/ini_helper_test.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/crates/shirabe/tests/util/ini_helper_test.rs b/crates/shirabe/tests/util/ini_helper_test.rs index 69f6f1b..54ab250 100644 --- a/crates/shirabe/tests/util/ini_helper_test.rs +++ b/crates/shirabe/tests/util/ini_helper_test.rs @@ -1 +1,56 @@ //! ref: composer/tests/Composer/Test/Util/IniHelperTest.php + +use shirabe::util::ini_helper::IniHelper; +use shirabe_php_shim::{PATH_SEPARATOR, putenv}; + +fn set_env(paths: &[&str]) { + putenv(&format!("COMPOSER_ORIGINAL_INIS={}", paths.join(PATH_SEPARATOR))); +} + +#[test] +#[ignore = "IniHelper::get_all reaches XdebugHandler::get_all_ini_files, which is todo!()"] +fn test_with_no_ini() { + let paths = [""]; + + set_env(&paths); + assert!(IniHelper::get_message().contains("does not exist")); + assert_eq!( + paths.iter().map(|s| s.to_string()).collect::<Vec<_>>(), + IniHelper::get_all() + ); +} + +#[test] +#[ignore = "IniHelper::get_all reaches XdebugHandler::get_all_ini_files, which is todo!()"] +fn test_with_loaded_ini_only() { + let paths = ["loaded.ini"]; + + set_env(&paths); + assert!(IniHelper::get_message().contains("loaded.ini")); +} + +#[test] +#[ignore = "IniHelper::get_all reaches XdebugHandler::get_all_ini_files, which is todo!()"] +fn test_with_loaded_ini_and_additional() { + let paths = ["loaded.ini", "one.ini", "two.ini"]; + + set_env(&paths); + assert!(IniHelper::get_message().contains("multiple ini files")); + assert_eq!( + paths.iter().map(|s| s.to_string()).collect::<Vec<_>>(), + IniHelper::get_all() + ); +} + +#[test] +#[ignore = "IniHelper::get_all reaches XdebugHandler::get_all_ini_files, which is todo!()"] +fn test_without_loaded_ini_and_additional() { + let paths = ["", "one.ini", "two.ini"]; + + set_env(&paths); + assert!(IniHelper::get_message().contains("multiple ini files")); + assert_eq!( + paths.iter().map(|s| s.to_string()).collect::<Vec<_>>(), + IniHelper::get_all() + ); +} |
