aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/command/about_command_test.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/tests/command/about_command_test.rs')
-rw-r--r--crates/shirabe/tests/command/about_command_test.rs30
1 files changed, 28 insertions, 2 deletions
diff --git a/crates/shirabe/tests/command/about_command_test.rs b/crates/shirabe/tests/command/about_command_test.rs
index 591fbfa..bb726cf 100644
--- a/crates/shirabe/tests/command/about_command_test.rs
+++ b/crates/shirabe/tests/command/about_command_test.rs
@@ -1,7 +1,33 @@
//! ref: composer/tests/Composer/Test/Command/AboutCommandTest.php
+use crate::test_case::{RunOptions, get_application_tester};
+use serial_test::serial;
+use shirabe::composer;
+use shirabe_php_shim::PhpMixed;
+
#[test]
-#[ignore = "missing get_application_tester (ApplicationTester) infrastructure and Application::get_display/set_auto_exit"]
+#[serial]
fn test_about() {
- todo!()
+ let composer_version = composer::get_version();
+ let mut app_tester = get_application_tester();
+ let status_code = app_tester
+ .run(
+ vec![(PhpMixed::from("command"), PhpMixed::from("about"))],
+ RunOptions::default(),
+ )
+ .unwrap();
+ assert_eq!(0, status_code);
+
+ assert!(app_tester.get_display().contains(&format!(
+ "Composer - Dependency Manager for PHP - version {composer_version}"
+ )));
+
+ assert!(app_tester.get_display().contains(
+ "Composer is a dependency manager tracking local dependencies of your projects and libraries."
+ ));
+ assert!(
+ app_tester
+ .get_display()
+ .contains("See https://getcomposer.org/ for more information.")
+ );
}