aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-21 03:25:36 +0900
committernsfisis <nsfisis@gmail.com>2026-06-21 03:25:36 +0900
commit4763fc783ec6eaa9c1c99ce7a820d4f4eaddc2fc (patch)
treea2b450c1cfdde35cbe1e1d16937984ba5309b7b4 /crates/shirabe/tests
parent903d37a254f931e79ecded26f30a3b517c6d27da (diff)
downloadphp-shirabe-4763fc783ec6eaa9c1c99ce7a820d4f4eaddc2fc.tar.gz
php-shirabe-4763fc783ec6eaa9c1c99ce7a820d4f4eaddc2fc.tar.zst
php-shirabe-4763fc783ec6eaa9c1c99ce7a820d4f4eaddc2fc.zip
test(installer): port InstallerEventTest
Ignored: Transaction::new reaches a todo!() (uasort_map) in the php-shim. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests')
-rw-r--r--crates/shirabe/tests/installer/installer_event_test.rs32
-rw-r--r--crates/shirabe/tests/installer/main.rs1
2 files changed, 33 insertions, 0 deletions
diff --git a/crates/shirabe/tests/installer/installer_event_test.rs b/crates/shirabe/tests/installer/installer_event_test.rs
index 9144488..8d75fb7 100644
--- a/crates/shirabe/tests/installer/installer_event_test.rs
+++ b/crates/shirabe/tests/installer/installer_event_test.rs
@@ -1 +1,33 @@
//! ref: composer/tests/Composer/Test/Installer/InstallerEventTest.php
+
+use std::cell::RefCell;
+use std::rc::Rc;
+
+use shirabe::composer::{ComposerHandle, PartialOrFullComposer};
+use shirabe::dependency_resolver::Transaction;
+use shirabe::event_dispatcher::EventInterface;
+use shirabe::installer::InstallerEvent;
+use shirabe::io::IOInterface;
+use shirabe::io::null_io::NullIO;
+
+#[test]
+#[ignore = "Transaction::new reaches shirabe_php_shim::uasort_map which is still todo!()"]
+fn test_getter() {
+ let composer_rc = Rc::new(RefCell::new(PartialOrFullComposer::new_full()));
+ let composer = ComposerHandle::from_rc_unchecked(composer_rc);
+ let io: Rc<RefCell<dyn IOInterface>> = Rc::new(RefCell::new(NullIO::new()));
+ let transaction = Transaction::new(vec![], vec![]);
+ let event = InstallerEvent::new(
+ "EVENT_NAME".to_string(),
+ composer.downgrade(),
+ io,
+ true,
+ true,
+ transaction,
+ );
+
+ assert_eq!("EVENT_NAME", event.get_name());
+ assert!(event.is_dev_mode());
+ assert!(event.is_executing_operations());
+ assert!(event.get_transaction().is_some());
+}
diff --git a/crates/shirabe/tests/installer/main.rs b/crates/shirabe/tests/installer/main.rs
new file mode 100644
index 0000000..fa7fea5
--- /dev/null
+++ b/crates/shirabe/tests/installer/main.rs
@@ -0,0 +1 @@
+mod installer_event_test;