dwipe 0.1.4

Fast, cross-platform disk cleanup tool with interactive UI
Documentation
pub mod common;
use crate::common::*;

use dwipe::app::App;
use dwipe::fs::DataStoreType;
mod handle_enter {

    use super::*;

    #[test]
    fn updates_current_tree_when_enters_subfolder() {
        let mut app: App<DataStoreType> = setup_app_view();
        handle_tasks_synchronously(&mut app);

        app.on_cursor_down();
        app.on_enter();
        handle_tasks_synchronously(&mut app);

        assert_cursor_index(&app, 0);
        assert_parent_folder_a_state(&app);
    }

    #[test]
    fn navigates_back_to_parent_folder() {
        let mut app: App<DataStoreType> = setup_app_view();
        handle_tasks_synchronously(&mut app);

        app.on_cursor_down();
        app.on_enter();
        handle_tasks_synchronously(&mut app);

        assert_parent_folder_a_state(&app);

        app.on_enter();
        handle_tasks_synchronously(&mut app);

        assert_parent_folder_state(&app);
        assert_cursor_index(&app, 1);
    }

    #[test]
    fn does_nothing_when_tries_to_enter_file() {
        let mut app: App<DataStoreType> = setup_app_view();
        handle_tasks_synchronously(&mut app);

        app.on_cursor_down();
        app.on_cursor_down();
        app.on_cursor_down();
        app.on_cursor_down();
        app.on_cursor_down();
        assert_cursor_index(&app, 5);

        app.on_enter();
        handle_tasks_synchronously(&mut app);

        assert_cursor_index(&app, 5);
        assert_parent_folder_state(&app);
    }
}