From 822d9a872807a92a5337ee8b7bab96dc9845cdbb Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 22 Jun 2026 02:09:59 +0900 Subject: test: port more test cases Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/tests/command/about_command_test.rs | 2 +- .../shirabe/tests/command/archive_command_test.rs | 6 +-- crates/shirabe/tests/command/audit_command_test.rs | 8 ++-- .../tests/command/base_dependency_command_test.rs | 14 +++---- crates/shirabe/tests/command/bump_command_test.rs | 6 +-- .../command/check_platform_reqs_command_test.rs | 6 +-- .../tests/command/clear_cache_command_test.rs | 6 +-- .../shirabe/tests/command/config_command_test.rs | 10 ++--- .../shirabe/tests/command/diagnose_command_test.rs | 4 +- .../tests/command/dump_autoload_command_test.rs | 24 +++++------ crates/shirabe/tests/command/exec_command_test.rs | 4 +- crates/shirabe/tests/command/fund_command_test.rs | 2 +- .../shirabe/tests/command/global_command_test.rs | 16 ++++---- crates/shirabe/tests/command/home_command_test.rs | 2 +- crates/shirabe/tests/command/init_command_test.rs | 44 +++++++++++++-------- .../shirabe/tests/command/install_command_test.rs | 8 ++-- .../shirabe/tests/command/licenses_command_test.rs | 16 ++++---- .../tests/command/reinstall_command_test.rs | 2 +- .../shirabe/tests/command/remove_command_test.rs | 32 +++++++-------- .../tests/command/repository_command_test.rs | 32 +++++++-------- .../shirabe/tests/command/require_command_test.rs | 8 ++-- .../tests/command/run_script_command_test.rs | 10 ++--- .../shirabe/tests/command/search_command_test.rs | 6 +-- .../tests/command/self_update_command_test.rs | 8 ++-- crates/shirabe/tests/command/show_command_test.rs | 46 +++++++++++----------- .../shirabe/tests/command/status_command_test.rs | 4 +- .../shirabe/tests/command/suggests_command_test.rs | 4 +- .../shirabe/tests/command/update_command_test.rs | 14 +++---- .../shirabe/tests/command/validate_command_test.rs | 8 ++-- 29 files changed, 181 insertions(+), 171 deletions(-) (limited to 'crates/shirabe/tests/command') diff --git a/crates/shirabe/tests/command/about_command_test.rs b/crates/shirabe/tests/command/about_command_test.rs index 3f19885..591fbfa 100644 --- a/crates/shirabe/tests/command/about_command_test.rs +++ b/crates/shirabe/tests/command/about_command_test.rs @@ -1,7 +1,7 @@ //! ref: composer/tests/Composer/Test/Command/AboutCommandTest.php #[test] -#[ignore = "requires the ApplicationTester harness (TestCase::getApplicationTester), which is not yet ported"] +#[ignore = "missing get_application_tester (ApplicationTester) infrastructure and Application::get_display/set_auto_exit"] fn test_about() { todo!() } diff --git a/crates/shirabe/tests/command/archive_command_test.rs b/crates/shirabe/tests/command/archive_command_test.rs index b716a3c..b381129 100644 --- a/crates/shirabe/tests/command/archive_command_test.rs +++ b/crates/shirabe/tests/command/archive_command_test.rs @@ -1,19 +1,19 @@ //! ref: composer/tests/Composer/Test/Command/ArchiveCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires PHPUnit getMockBuilder/onlyMethods partial mock of ArchiveCommand (override tryComposer/requireComposer) plus expects()/willReturn() mocks for OutputInterface/EventDispatcher/ArchiveManager/RootPackageInterface; no mocking infrastructure exists"] fn test_uses_config_from_composer_object() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires PHPUnit getMockBuilder/onlyMethods partial mock of ArchiveCommand (override tryComposer/archive) with expects()/with()/willReturn() expectation verification and Factory::createConfig mock OutputInterface; no mocking infrastructure exists"] fn test_uses_config_from_factory_when_composer_is_not_defined() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires PHPUnit getMockBuilder/onlyMethods partial mock of ArchiveCommand plus expects()/willReturn() mocks for OutputInterface/EventDispatcher/ArchiveManager/InstalledRepositoryInterface/RepositoryManager; no mocking infrastructure exists"] fn test_uses_config_from_composer_object_with_package_name() { todo!() } diff --git a/crates/shirabe/tests/command/audit_command_test.rs b/crates/shirabe/tests/command/audit_command_test.rs index 4972793..7d585d9 100644 --- a/crates/shirabe/tests/command/audit_command_test.rs +++ b/crates/shirabe/tests/command/audit_command_test.rs @@ -1,25 +1,25 @@ //! ref: composer/tests/Composer/Test/Command/AuditCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_successful_response_code_when_no_packages_are_required() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] fn test_error_auditing_lock_file_when_it_is_missing() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] fn test_audit_package_with_no_security_vulnerabilities() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] fn test_audit_package_with_no_dev_option_passed() { todo!() } diff --git a/crates/shirabe/tests/command/base_dependency_command_test.rs b/crates/shirabe/tests/command/base_dependency_command_test.rs index 74a8adf..a112933 100644 --- a/crates/shirabe/tests/command/base_dependency_command_test.rs +++ b/crates/shirabe/tests/command/base_dependency_command_test.rs @@ -1,43 +1,43 @@ //! ref: composer/tests/Composer/Test/Command/BaseDependencyCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_exception_when_no_required_parameters() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / get_application_tester helper not implemented"] fn test_exception_when_running_locked_without_lock_file() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / get_application_tester helper not implemented"] fn test_exception_when_it_could_not_found_the_package() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / create_installed_json / create_composer_lock / get_application_tester helpers not implemented"] fn test_exception_when_package_was_not_found_in_project() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / create_composer_lock / get_application_tester helpers not implemented"] fn test_warning_when_dependencies_are_not_installed() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / create_composer_lock / create_installed_json / get_application_tester helpers not implemented"] fn test_why_command_outputs() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / create_composer_lock / create_installed_json / get_application_tester helpers not implemented"] fn test_why_not_command_outputs() { todo!() } diff --git a/crates/shirabe/tests/command/bump_command_test.rs b/crates/shirabe/tests/command/bump_command_test.rs index a96dcc7..4e9a49c 100644 --- a/crates/shirabe/tests/command/bump_command_test.rs +++ b/crates/shirabe/tests/command/bump_command_test.rs @@ -1,19 +1,19 @@ //! ref: composer/tests/Composer/Test/Command/BumpCommandTest.php +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_bump() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_bump_fails_on_non_existing_composer_file() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_bump_fails_on_write_error_to_composer_file() { todo!() } diff --git a/crates/shirabe/tests/command/check_platform_reqs_command_test.rs b/crates/shirabe/tests/command/check_platform_reqs_command_test.rs index a3a6ae5..9cbba58 100644 --- a/crates/shirabe/tests/command/check_platform_reqs_command_test.rs +++ b/crates/shirabe/tests/command/check_platform_reqs_command_test.rs @@ -1,19 +1,19 @@ //! ref: composer/tests/Composer/Test/Command/CheckPlatformReqsCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_platform_reqs_are_satisfied() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_exception_thrown_if_no_lockfile_found() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_failed_platform_requirement() { todo!() } diff --git a/crates/shirabe/tests/command/clear_cache_command_test.rs b/crates/shirabe/tests/command/clear_cache_command_test.rs index 29a745b..4ad04dd 100644 --- a/crates/shirabe/tests/command/clear_cache_command_test.rs +++ b/crates/shirabe/tests/command/clear_cache_command_test.rs @@ -16,7 +16,7 @@ impl Drop for TearDown { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_clear_cache_command_success() { let _tear_down = TearDown; @@ -24,7 +24,7 @@ fn test_clear_cache_command_success() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_clear_cache_command_with_option_garbage_collection() { let _tear_down = TearDown; @@ -32,7 +32,7 @@ fn test_clear_cache_command_with_option_garbage_collection() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_clear_cache_command_with_option_no_cache() { let _tear_down = TearDown; diff --git a/crates/shirabe/tests/command/config_command_test.rs b/crates/shirabe/tests/command/config_command_test.rs index 63bcac7..70e6a97 100644 --- a/crates/shirabe/tests/command/config_command_test.rs +++ b/crates/shirabe/tests/command/config_command_test.rs @@ -1,31 +1,31 @@ //! ref: composer/tests/Composer/Test/Command/ConfigCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_config_updates() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_config_reads() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester (getApplicationTester) harness (not implemented)"] fn test_config_throws_for_invalid_arg_combination() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_config_throws_for_invalid_severity() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_config_throws_when_merging_array_with_object() { todo!() } diff --git a/crates/shirabe/tests/command/diagnose_command_test.rs b/crates/shirabe/tests/command/diagnose_command_test.rs index 4b5dc9a..a5a6c8b 100644 --- a/crates/shirabe/tests/command/diagnose_command_test.rs +++ b/crates/shirabe/tests/command/diagnose_command_test.rs @@ -1,13 +1,13 @@ //! ref: composer/tests/Composer/Test/Command/DiagnoseCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_cmd_fail() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_cmd_success() { todo!() } diff --git a/crates/shirabe/tests/command/dump_autoload_command_test.rs b/crates/shirabe/tests/command/dump_autoload_command_test.rs index db27ebb..b3e79b3 100644 --- a/crates/shirabe/tests/command/dump_autoload_command_test.rs +++ b/crates/shirabe/tests/command/dump_autoload_command_test.rs @@ -1,73 +1,73 @@ //! ref: composer/tests/Composer/Test/Command/DumpAutoloadCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_dump_autoload() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_dump_dev_autoload() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_dump_no_dev_autoload() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_using_optimize_and_strict_psr() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / get_application_tester helpers not implemented"] fn test_fails_using_strict_psr_if_class_map_violations_are_found() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_using_classmap_authoritative() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_using_classmap_authoritative_and_strict_psr() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_strict_psr_does_not_work_without_optimized_autoloader() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "ApplicationTester / get_application_tester helper not implemented"] fn test_dev_and_no_dev_cannot_be_combined() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / get_application_tester helpers not implemented"] fn test_with_custom_autoloader_suffix() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / get_application_tester helpers not implemented"] fn test_with_existing_composer_lock_and_autoloader_suffix() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / get_application_tester helpers not implemented"] fn test_with_existing_composer_lock_without_autoloader_suffix() { todo!() } diff --git a/crates/shirabe/tests/command/exec_command_test.rs b/crates/shirabe/tests/command/exec_command_test.rs index 89963db..d182754 100644 --- a/crates/shirabe/tests/command/exec_command_test.rs +++ b/crates/shirabe/tests/command/exec_command_test.rs @@ -1,13 +1,13 @@ //! ref: composer/tests/Composer/Test/Command/ExecCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester with run/get_display) infrastructure"] fn test_list_throws_if_no_binaries_exist() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester with run/get_display) infrastructure"] fn test_list() { todo!() } diff --git a/crates/shirabe/tests/command/fund_command_test.rs b/crates/shirabe/tests/command/fund_command_test.rs index d66795f..f75090c 100644 --- a/crates/shirabe/tests/command/fund_command_test.rs +++ b/crates/shirabe/tests/command/fund_command_test.rs @@ -1,7 +1,7 @@ //! ref: composer/tests/Composer/Test/Command/FundCommandTest.php +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_fund_command() { todo!() } diff --git a/crates/shirabe/tests/command/global_command_test.rs b/crates/shirabe/tests/command/global_command_test.rs index 10ddf6c..0b62150 100644 --- a/crates/shirabe/tests/command/global_command_test.rs +++ b/crates/shirabe/tests/command/global_command_test.rs @@ -16,7 +16,7 @@ impl Drop for TearDown { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/getUniqueTmpDirectory harness (not implemented)"] fn test_global() { let _tear_down = TearDown; @@ -24,7 +24,7 @@ fn test_global() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::getUniqueTmpDirectory harness (not implemented)"] fn test_cannot_create_home() { let _tear_down = TearDown; @@ -32,7 +32,7 @@ fn test_cannot_create_home() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createInstalledJson harness (not implemented)"] fn test_global_show() { let _tear_down = TearDown; @@ -40,7 +40,7 @@ fn test_global_show() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createInstalledJson harness (not implemented)"] fn test_global_show_without_packages() { let _tear_down = TearDown; @@ -48,7 +48,7 @@ fn test_global_show_without_packages() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_global_require() { let _tear_down = TearDown; @@ -56,7 +56,7 @@ fn test_global_require() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createInstalledJson/createComposerLock harness (not implemented)"] fn test_global_update() { let _tear_down = TearDown; @@ -64,7 +64,7 @@ fn test_global_update() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_global_changes_directory() { let _tear_down = TearDown; @@ -72,7 +72,7 @@ fn test_global_changes_directory() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_global_missing_command_name() { let _tear_down = TearDown; diff --git a/crates/shirabe/tests/command/home_command_test.rs b/crates/shirabe/tests/command/home_command_test.rs index 0bb4357..b8b67d7 100644 --- a/crates/shirabe/tests/command/home_command_test.rs +++ b/crates/shirabe/tests/command/home_command_test.rs @@ -1,7 +1,7 @@ //! ref: composer/tests/Composer/Test/Command/HomeCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "init_temp_composer / create_installed_json / get_application_tester (ApplicationTester) helpers not implemented"] fn test_home_command_with_show_flag() { todo!() } diff --git a/crates/shirabe/tests/command/init_command_test.rs b/crates/shirabe/tests/command/init_command_test.rs index 043011d..7c296a0 100644 --- a/crates/shirabe/tests/command/init_command_test.rs +++ b/crates/shirabe/tests/command/init_command_test.rs @@ -3,6 +3,7 @@ // The author/namespace/git-config helpers are protected methods exercised via reflection // in PHP; the run cases need the ApplicationTester. Neither is available here. +use shirabe::command::init_command::InitCommand; use shirabe_php_shim::server_set; fn set_up() { @@ -10,112 +11,121 @@ fn set_up() { server_set("COMPOSER_DEFAULT_EMAIL", "john@example.com".to_string()); } +#[ignore = "InitCommand::parse_author_string is private; integration tests cannot reach it (PHP uses reflection)"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_parse_valid_author_string() { set_up(); todo!() } +#[ignore = "InitCommand::parse_author_string is private; integration tests cannot reach it (PHP uses reflection)"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_parse_empty_author_string() { set_up(); todo!() } +#[ignore = "InitCommand::parse_author_string is private; integration tests cannot reach it (PHP uses reflection)"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_parse_author_string_with_invalid_email() { set_up(); todo!() } +#[ignore] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_namespace_from_valid_package_name() { set_up(); - todo!() + let command = InitCommand::new(); + let namespace = command.namespace_from_package_name("new_projects.acme-extra/package-name"); + assert_eq!( + Some("NewProjectsAcmeExtra\\PackageName".to_string()), + namespace + ); } +#[ignore] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_namespace_from_invalid_package_name() { set_up(); - todo!() + let command = InitCommand::new(); + let namespace = command.namespace_from_package_name("invalid-package-name"); + assert_eq!(None, namespace); } +#[ignore] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_namespace_from_missing_package_name() { set_up(); - todo!() + let command = InitCommand::new(); + let namespace = command.namespace_from_package_name(""); + assert_eq!(None, namespace); } +#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure, not implemented"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_run_command() { set_up(); todo!() } +#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure, not implemented"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_run_command_invalid() { set_up(); todo!() } +#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure, not implemented"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_run_guess_name_from_dir_sanitizes_dir() { set_up(); todo!() } +#[ignore = "needs TestCase::init_temp_composer and get_application_tester (ApplicationTester with set_inputs) infrastructure, not implemented"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_interactive_run() { set_up(); todo!() } +#[ignore = "InitCommand::format_authors is pub(crate); integration tests cannot reach it (PHP subclasses via DummyInitCommand)"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_format_authors() { set_up(); todo!() } +#[ignore = "InitCommand::get_git_config is pub(crate); integration tests cannot reach it (PHP subclasses via DummyInitCommand)"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_get_git_config() { set_up(); todo!() } +#[ignore = "InitCommand::add_vendor_ignore is pub(crate) and test needs TestCase::get_unique_tmp_directory; neither reachable from integration tests"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_add_vendor_ignore() { set_up(); todo!() } +#[ignore = "InitCommand::has_vendor_ignore/add_vendor_ignore are pub(crate) and test needs TestCase::get_unique_tmp_directory; neither reachable from integration tests"] #[test] -#[ignore = "needs the ApplicationTester harness or reflection into protected InitCommand helpers"] fn test_has_vendor_ignore() { set_up(); diff --git a/crates/shirabe/tests/command/install_command_test.rs b/crates/shirabe/tests/command/install_command_test.rs index 1774721..a0586ab 100644 --- a/crates/shirabe/tests/command/install_command_test.rs +++ b/crates/shirabe/tests/command/install_command_test.rs @@ -1,25 +1,25 @@ //! ref: composer/tests/Composer/Test/Command/InstallCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock/createInstalledJson harness (not implemented)"] fn test_install_command_errors() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock harness (not implemented)"] fn test_install_from_empty_vendor() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock harness (not implemented)"] fn test_install_from_empty_vendor_no_dev() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock/createInstalledJson harness (not implemented)"] fn test_install_new_packages_with_existing_partial_vendor() { todo!() } diff --git a/crates/shirabe/tests/command/licenses_command_test.rs b/crates/shirabe/tests/command/licenses_command_test.rs index 113a77e..6bfe832 100644 --- a/crates/shirabe/tests/command/licenses_command_test.rs +++ b/crates/shirabe/tests/command/licenses_command_test.rs @@ -7,7 +7,7 @@ fn set_up() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_basic_run() { set_up(); @@ -15,7 +15,7 @@ fn test_basic_run() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_no_dev() { set_up(); @@ -23,7 +23,7 @@ fn test_no_dev() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_format_json() { set_up(); @@ -31,7 +31,7 @@ fn test_format_json() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_format_summary() { set_up(); @@ -39,7 +39,7 @@ fn test_format_summary() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_format_unknown() { set_up(); @@ -47,7 +47,7 @@ fn test_format_unknown() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_locked() { set_up(); @@ -55,7 +55,7 @@ fn test_locked() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_locked_no_dev() { set_up(); @@ -63,7 +63,7 @@ fn test_locked_no_dev() { } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_installed_json / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_locked_without_lock_file() { set_up(); diff --git a/crates/shirabe/tests/command/reinstall_command_test.rs b/crates/shirabe/tests/command/reinstall_command_test.rs index df0b618..b420fd5 100644 --- a/crates/shirabe/tests/command/reinstall_command_test.rs +++ b/crates/shirabe/tests/command/reinstall_command_test.rs @@ -1,7 +1,7 @@ //! ref: composer/tests/Composer/Test/Command/ReinstallCommandTest.php +#[ignore = "missing TestCase::init_temp_composer, create_composer_lock, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_reinstall_command() { todo!() } diff --git a/crates/shirabe/tests/command/remove_command_test.rs b/crates/shirabe/tests/command/remove_command_test.rs index 297d136..2ea8c88 100644 --- a/crates/shirabe/tests/command/remove_command_test.rs +++ b/crates/shirabe/tests/command/remove_command_test.rs @@ -1,97 +1,97 @@ //! ref: composer/tests/Composer/Test/Command/RemoveCommandTest.php +#[ignore = "missing TestCase::get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_exception_running_with_no_remove_packages() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_exception_when_running_unused_without_lock_file() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_warning_when_removing_non_existent_package() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_warning_when_removing_package_from_wrong_type() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_warning_when_removing_package_with_deprecated_dependencies_flag() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_message_output_when_no_unused_packages_to_remove() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_unused_package() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_package_by_name() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_package_by_name_with_dry_run() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_allowed_plugin_package_with_no_other_allowed_plugins() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_allowed_plugin_package_with_other_allowed_plugins() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_packages_by_vendor() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_remove_packages_by_vendor_with_dry_run() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_warning_when_removing_packages_by_vendor_from_wrong_type() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_package_still_present_error_when_no_install_flag_used() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_update_inherited_dependencies_flag_is_passed_to_post_remove_installer() { todo!() } diff --git a/crates/shirabe/tests/command/repository_command_test.rs b/crates/shirabe/tests/command/repository_command_test.rs index 33a4451..dd7a4bf 100644 --- a/crates/shirabe/tests/command/repository_command_test.rs +++ b/crates/shirabe/tests/command/repository_command_test.rs @@ -1,97 +1,97 @@ //! ref: composer/tests/Composer/Test/Command/RepositoryCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_list_with_no_repositories() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_list_with_repositories_as_list() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_list_with_repositories_as_assoc() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_add_repository_with_type_and_url() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_add_repository_with_json() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_remove_repository() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_set_and_get_url_in_repository_assoc() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_set_and_get_url_in_repository_list() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_disable_and_enable_packagist() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_invalid_arg_combination_throws() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_prepend_repository_by_name_list_to_assoc() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_append_repository_by_name_list_to_assoc() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_prepend_repository_assoc_with_packagist_disabled() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_append_repository_assoc_with_packagist_disabled() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_add_before_and_after_by_name() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing init_temp_composer and get_application_tester (ApplicationTester) test infrastructure"] fn test_add_same_name_replaces_existing() { todo!() } diff --git a/crates/shirabe/tests/command/require_command_test.rs b/crates/shirabe/tests/command/require_command_test.rs index 470bbe2..0f43342 100644 --- a/crates/shirabe/tests/command/require_command_test.rs +++ b/crates/shirabe/tests/command/require_command_test.rs @@ -1,25 +1,25 @@ //! ref: composer/tests/Composer/Test/Command/RequireCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/getApplicationTester harness (not implemented)"] fn test_require_throws_if_none_matches() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/getApplicationTester/setInputs harness (not implemented)"] fn test_require_warns_if_resolved_to_feature_branch() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/getApplicationTester harness (not implemented)"] fn test_require() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock/createInstalledJson/getApplicationTester harness (not implemented)"] fn test_inconsistent_require_keys() { todo!() } diff --git a/crates/shirabe/tests/command/run_script_command_test.rs b/crates/shirabe/tests/command/run_script_command_test.rs index 14766d4..366ee96 100644 --- a/crates/shirabe/tests/command/run_script_command_test.rs +++ b/crates/shirabe/tests/command/run_script_command_test.rs @@ -1,31 +1,31 @@ //! ref: composer/tests/Composer/Test/Command/RunScriptCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires PHPUnit getMockBuilder/onlyMethods partial mock of RunScriptCommand (override requireComposer/initialize/etc) plus expects()/with()/willReturn()/returnValueMap mocks of InputInterface/OutputInterface/EventDispatcher with a callback constraint on ScriptEvent; no mocking infrastructure exists"] fn test_detect_and_pass_dev_mode_to_event_and_to_dispatching() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires init_temp_composer and get_application_tester (ApplicationTester) infrastructure; neither exists"] fn test_can_list_scripts() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires init_temp_composer and get_application_tester (ApplicationTester) infrastructure; neither exists"] fn test_can_define_aliases() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires init_temp_composer/get_application_tester (ApplicationTester) plus writing and executing a PHP-generated Symfony Command class (file_put_contents MyCommand.php); fundamentally unportable, no infrastructure exists"] fn test_execution_of_simple_symfony_command() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires init_temp_composer/get_application_tester (ApplicationTester) plus writing and executing a PHP-generated Symfony Command class (file_put_contents MyCommandWithDefinitions.php); fundamentally unportable, no infrastructure exists"] fn test_execution_of_symfony_command_with_configuration() { todo!() } diff --git a/crates/shirabe/tests/command/search_command_test.rs b/crates/shirabe/tests/command/search_command_test.rs index d5b6a76..5cad1eb 100644 --- a/crates/shirabe/tests/command/search_command_test.rs +++ b/crates/shirabe/tests/command/search_command_test.rs @@ -1,19 +1,19 @@ //! ref: composer/tests/Composer/Test/Command/SearchCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_search() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_invalid_format() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] fn test_invalid_flags() { todo!() } diff --git a/crates/shirabe/tests/command/self_update_command_test.rs b/crates/shirabe/tests/command/self_update_command_test.rs index d741302..8e51580 100644 --- a/crates/shirabe/tests/command/self_update_command_test.rs +++ b/crates/shirabe/tests/command/self_update_command_test.rs @@ -7,7 +7,7 @@ fn set_up() -> String { } #[test] -#[ignore = "requires the ApplicationTester harness, which is not yet ported"] +#[ignore = "depends on initTempComposer, composer-test.phar fixture, and Symfony Process to spawn the phar; none ported"] fn test_successful_update() { let _phar = set_up(); @@ -15,7 +15,7 @@ fn test_successful_update() { } #[test] -#[ignore = "requires the ApplicationTester harness, which is not yet ported"] +#[ignore = "depends on initTempComposer, composer-test.phar fixture, and Symfony Process to spawn the phar; none ported"] fn test_update_to_specific_version() { let _phar = set_up(); @@ -23,7 +23,7 @@ fn test_update_to_specific_version() { } #[test] -#[ignore = "requires the ApplicationTester harness, which is not yet ported"] +#[ignore = "depends on getApplicationTester (ApplicationTester) which is not ported"] fn test_update_with_invalid_option_throws_exception() { let _phar = set_up(); @@ -31,7 +31,7 @@ fn test_update_with_invalid_option_throws_exception() { } #[test] -#[ignore = "requires the ApplicationTester harness, which is not yet ported"] +#[ignore = "depends on initTempComposer, composer-test.phar fixture, and Symfony Process to spawn the phar; none ported"] fn test_update_to_different_channel() { let _phar = set_up(); diff --git a/crates/shirabe/tests/command/show_command_test.rs b/crates/shirabe/tests/command/show_command_test.rs index b17ce22..56e8106 100644 --- a/crates/shirabe/tests/command/show_command_test.rs +++ b/crates/shirabe/tests/command/show_command_test.rs @@ -1,139 +1,139 @@ //! ref: composer/tests/Composer/Test/Command/ShowCommandTest.php +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_show() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_outdated_filters_according_to_platform_reqs_and_warns() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_outdated_filters_according_to_platform_reqs_without_warning_for_higher_versions() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, configure_links, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_show_direct_with_name_does_not_show_transient_dependencies() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_show_direct_with_name_only_shows_direct_dependents() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_show_platform_only_shows_platform_packages() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_show_platform_works_without_composer_json() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_outdated_with_zero_major() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_show_all_shows_all_sections() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_locked_requires_valid_lock_file() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_locked_shows_all_locked() { todo!() } +#[ignore = "missing TestCase::get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_invalid_option_combinations() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_ignored_option_combinations() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_self_and_name_only() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_self_and_package_combination() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_self() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_not_installed_error() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_no_dev_option() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_package_filter() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_not_existing_package() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_not_existing_package_with_working_dir() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_specific_package_and_tree() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_name_only_prints_no_trailing_whitespace() { todo!() } diff --git a/crates/shirabe/tests/command/status_command_test.rs b/crates/shirabe/tests/command/status_command_test.rs index 6b8dcf6..6154ea0 100644 --- a/crates/shirabe/tests/command/status_command_test.rs +++ b/crates/shirabe/tests/command/status_command_test.rs @@ -1,13 +1,13 @@ //! ref: composer/tests/Composer/Test/Command/StatusCommandTest.php +#[ignore = "missing TestCase::init_temp_composer, create_composer_lock, create_installed_json, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_no_local_changes() { todo!() } +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_locally_modified_packages() { todo!() } diff --git a/crates/shirabe/tests/command/suggests_command_test.rs b/crates/shirabe/tests/command/suggests_command_test.rs index ca4d9a2..c23691b 100644 --- a/crates/shirabe/tests/command/suggests_command_test.rs +++ b/crates/shirabe/tests/command/suggests_command_test.rs @@ -1,13 +1,13 @@ //! ref: composer/tests/Composer/Test/Command/SuggestsCommandTest.php +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, and get_application_tester (ApplicationTester) infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_installed_packages_with_no_suggestions() { todo!() } +#[ignore = "missing TestCase::init_temp_composer, create_installed_json, create_composer_lock, get_application_tester (ApplicationTester), and get_version_parser infrastructure"] #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] fn test_suggest() { todo!() } diff --git a/crates/shirabe/tests/command/update_command_test.rs b/crates/shirabe/tests/command/update_command_test.rs index ceae0eb..95b6962 100644 --- a/crates/shirabe/tests/command/update_command_test.rs +++ b/crates/shirabe/tests/command/update_command_test.rs @@ -1,43 +1,43 @@ //! ref: composer/tests/Composer/Test/Command/UpdateCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock harness (not implemented)"] fn test_update() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock harness (not implemented)"] fn test_update_with_patch_only() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock harness (not implemented)"] fn test_interactive_mode_throws_if_no_package_to_update() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock harness (not implemented)"] fn test_interactive_mode_throws_if_no_package_entered() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer/createComposerLock/createInstalledJson harness (not implemented)"] fn test_interactive_tmp() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_no_security_blocking_allows_insecure_packages() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "requires ApplicationTester and TestCase::initTempComposer harness (not implemented)"] fn test_bump_after_update_without_lockfile() { todo!() } diff --git a/crates/shirabe/tests/command/validate_command_test.rs b/crates/shirabe/tests/command/validate_command_test.rs index 26af2ae..b306100 100644 --- a/crates/shirabe/tests/command/validate_command_test.rs +++ b/crates/shirabe/tests/command/validate_command_test.rs @@ -1,25 +1,25 @@ //! ref: composer/tests/Composer/Test/Command/ValidateCommandTest.php #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester with run/get_display) infrastructure"] fn test_validate() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester with run/get_display) infrastructure"] fn test_validate_on_file_issues() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer / create_composer_lock and get_application_tester (ApplicationTester) infrastructure"] fn test_with_composer_lock() { todo!() } #[test] -#[ignore = "requires the ApplicationTester/initTempComposer harness, which is not yet ported"] +#[ignore = "missing TestCase::init_temp_composer and get_application_tester (ApplicationTester with run/get_display/get_status_code) infrastructure"] fn test_unaccessible_file() { todo!() } -- cgit v1.3.1