aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/installer/installer_event_test.rs
blob: 8a85cabd55a23d23d2a6d9ed904e654ce54ec3c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//! 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]
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());
}