diff --git a/tests/framework/src/backends.rs b/tests/framework/src/backends.rs index b69b43a3f..ead363fae 100644 --- a/tests/framework/src/backends.rs +++ b/tests/framework/src/backends.rs @@ -1,5 +1,7 @@ mod audio; +mod log; mod navigator; pub use audio::TestAudioBackend; +pub use log::TestLogBackend; pub use navigator::TestNavigatorBackend; diff --git a/tests/framework/src/backends/log.rs b/tests/framework/src/backends/log.rs new file mode 100644 index 000000000..25e354876 --- /dev/null +++ b/tests/framework/src/backends/log.rs @@ -0,0 +1,29 @@ +use ruffle_core::backend::log::LogBackend; +use std::cell::RefCell; +use std::rc::Rc; + +#[derive(Clone)] +pub struct TestLogBackend { + trace_output: Rc>, +} + +impl Default for TestLogBackend { + fn default() -> Self { + Self { + trace_output: Rc::new(RefCell::new(String::new())), + } + } +} + +impl TestLogBackend { + pub fn trace_output(self) -> String { + self.trace_output.take() + } +} + +impl LogBackend for TestLogBackend { + fn avm_trace(&self, message: &str) { + self.trace_output.borrow_mut().push_str(message); + self.trace_output.borrow_mut().push('\n'); + } +} diff --git a/tests/framework/src/backends/navigator.rs b/tests/framework/src/backends/navigator.rs index b2fe989c1..848ac655f 100644 --- a/tests/framework/src/backends/navigator.rs +++ b/tests/framework/src/backends/navigator.rs @@ -1,4 +1,4 @@ -use crate::runner::TestLogBackend; +use crate::backends::TestLogBackend; use async_channel::Receiver; use ruffle_core::backend::log::LogBackend; use ruffle_core::backend::navigator::{ diff --git a/tests/framework/src/runner.rs b/tests/framework/src/runner.rs index db8238e99..28e005f71 100644 --- a/tests/framework/src/runner.rs +++ b/tests/framework/src/runner.rs @@ -1,11 +1,10 @@ -use crate::backends::TestNavigatorBackend; +use crate::backends::{TestLogBackend, TestNavigatorBackend}; use crate::fs_commands::{FsCommand, TestFsCommandProvider}; use crate::image_trigger::ImageTrigger; use crate::options::ImageComparison; use crate::test::Test; use crate::test_ui::TestUiBackend; use anyhow::{anyhow, Result}; -use ruffle_core::backend::log::LogBackend; use ruffle_core::backend::navigator::NullExecutor; use ruffle_core::events::MouseButton as RuffleMouseButton; use ruffle_core::events::{KeyCode, TextControlCode as RuffleTextControlCode}; @@ -18,38 +17,10 @@ use ruffle_input_format::{ }; use ruffle_render_wgpu::descriptors::Descriptors; use ruffle_socket_format::SocketEvent; -use std::cell::RefCell; use std::path::Path; -use std::rc::Rc; use std::sync::{Arc, Mutex}; use std::time::Duration; -#[derive(Clone)] -pub struct TestLogBackend { - trace_output: Rc>, -} - -impl Default for TestLogBackend { - fn default() -> Self { - Self { - trace_output: Rc::new(RefCell::new(String::new())), - } - } -} - -impl TestLogBackend { - pub fn trace_output(self) -> String { - self.trace_output.take() - } -} - -impl LogBackend for TestLogBackend { - fn avm_trace(&self, message: &str) { - self.trace_output.borrow_mut().push_str(message); - self.trace_output.borrow_mut().push('\n'); - } -} - /// Loads an SWF and runs it through the Ruffle core for a number of frames. /// Tests that the trace output matches the given expected output. pub fn run_swf(