Skip to content

Commit

Permalink
add test plugin group
Browse files Browse the repository at this point in the history
  • Loading branch information
anchpop committed Sep 9, 2022
1 parent ca3fa9d commit 0740263
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
2 changes: 1 addition & 1 deletion crates/bevy_app/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -815,7 +815,7 @@ impl App {
/// [`Plugin`]s can be grouped into a set by using a [`PluginGroup`].
///
/// There are built-in [`PluginGroup`]s that provide core engine functionality.
/// The [`PluginGroup`]s available by default are `DefaultPlugins` and `MinimalPlugins`.
/// The [`PluginGroup`]s available by default are `DefaultPlugins`, `MinimalPlugins`, and `TestPlugins`.
///
/// To customize the plugins in the group (reorder, disable a plugin, add a new plugin
/// before / after another plugin), see [`add_plugins_with`](Self::add_plugins_with).
Expand Down
34 changes: 34 additions & 0 deletions crates/bevy_internal/src/default_plugins.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,37 @@ impl PluginGroup for MinimalPlugins {
group.add(bevy_app::ScheduleRunnerPlugin::default());
}
}

/// Plugin group intended for use in tests, that will add the following plugins:
/// * [`CorePlugin`](bevy_core::CorePlugin)
/// * [`TimePlugin`](bevy_time::TimePlugin)
/// * [`ScheduleRunnerPlugin`](bevy_app::ScheduleRunnerPlugin)
/// * [`AssetPlugin`](bevy_asset::AssetPlugin)
/// * [`ScenePlugin`](bevy_scene::ScenePlugin)
/// * [`WindowPlugin`](bevy_window::WindowPlugin)
/// * [`RenderPlugin`](bevy_render::RenderPlugin)
/// * [`GilrsPlugin`](bevy_gilrs::GilrsPlugin)
/// * [`TransformPlugin`](bevy_transform::TransformPlugin)
/// * [`HierarchyPlugin`](bevy_hierarchy::HierarchyPlugin)
/// * [`DiagnosticsPlugin`](bevy_diagnostic::DiagnosticsPlugin)
/// * [`InputPlugin`](bevy_input::InputPlugin)
///
/// See also [`DefaultPlugins`] for a more complete set of plugins
pub struct TestPlugins;

impl PluginGroup for TestPlugins {
fn build(&mut self, group: &mut PluginGroupBuilder) {
group.add(bevy_core::CorePlugin::default());
group.add(bevy_time::TimePlugin::default());
group.add(bevy_app::ScheduleRunnerPlugin::default());
group.add(bevy_asset::AssetPlugin);
group.add(bevy_scene::ScenePlugin);
group.add(bevy_window::WindowPlugin);
group.add(bevy_render::RenderPlugin);
group.add(bevy_gilrs::GilrsPlugin);
group.add(bevy_transform::TransformPlugin);
group.add(bevy_hierarchy::HierarchyPlugin);
group.add(bevy_diagnostic::DiagnosticsPlugin);
group.add(bevy_input::InputPlugin);
}
}
1 change: 1 addition & 0 deletions crates/bevy_internal/src/prelude.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ pub use crate::{
app::prelude::*, core::prelude::*, ecs::prelude::*, hierarchy::prelude::*, input::prelude::*,
log::prelude::*, math::prelude::*, reflect::prelude::*, time::prelude::*,
transform::prelude::*, utils::prelude::*, window::prelude::*, DefaultPlugins, MinimalPlugins,
TestPlugins,
};

pub use bevy_derive::{bevy_main, Deref, DerefMut};
Expand Down

0 comments on commit 0740263

Please sign in to comment.