aboutsummaryrefslogtreecommitdiff
path: root/crates/fparkan-test-support/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/fparkan-test-support/src')
-rw-r--r--crates/fparkan-test-support/src/lib.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/crates/fparkan-test-support/src/lib.rs b/crates/fparkan-test-support/src/lib.rs
new file mode 100644
index 0000000..cb4f552
--- /dev/null
+++ b/crates/fparkan-test-support/src/lib.rs
@@ -0,0 +1,25 @@
+#![forbid(unsafe_code)]
+//! Dev-only synthetic builders and fake ports.
+
+use fparkan_render::{FrameOutput, RenderBackend, RenderCommandList, RenderError};
+
+/// Fake clock.
+#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
+pub struct FakeClock {
+ /// Current tick.
+ pub tick: u64,
+}
+
+/// Recording backend.
+#[derive(Clone, Debug, Default)]
+pub struct RecordingRenderBackend {
+ /// Recorded command lists.
+ pub captures: Vec<RenderCommandList>,
+}
+
+impl RenderBackend for RecordingRenderBackend {
+ fn execute(&mut self, commands: &RenderCommandList) -> Result<FrameOutput, RenderError> {
+ self.captures.push(commands.clone());
+ Ok(FrameOutput)
+ }
+}