diff options
Diffstat (limited to 'crates/shirabe/tests/util')
| -rw-r--r-- | crates/shirabe/tests/util/ini_helper_test.rs | 55 | ||||
| -rw-r--r-- | crates/shirabe/tests/util/main.rs | 1 |
2 files changed, 56 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() + ); +} diff --git a/crates/shirabe/tests/util/main.rs b/crates/shirabe/tests/util/main.rs index 6165e54..1955f8d 100644 --- a/crates/shirabe/tests/util/main.rs +++ b/crates/shirabe/tests/util/main.rs @@ -3,6 +3,7 @@ mod error_handler_test; mod forgejo_url_test; mod http; mod http_downloader_test; +mod ini_helper_test; mod metadata_minifier_test; mod no_proxy_pattern_test; mod package_sorter_test; |
