use parking_lot::{ReentrantMutex, ReentrantMutexGuard}; use std::ptr; use crate::context::Context; pub static TEST_MUTEX: ReentrantMutex<()> = parking_lot::const_reentrant_mutex(()); pub fn test_ctx() -> (ReentrantMutexGuard<'static, ()>, Context) { let guard = TEST_MUTEX.lock(); let mut ctx = Context::create(); ctx.io_mut().ini_filename = ptr::null(); (guard, ctx) } pub fn test_ctx_initialized() -> (ReentrantMutexGuard<'static, ()>, Context) { let (guard, mut ctx) = test_ctx(); let io = ctx.io_mut(); io.display_size = [1024.0, 768.0]; io.delta_time = 1.0 / 60.0; io.mouse_pos = [0.0, 0.0]; ctx.fonts().build_rgba32_texture(); (guard, ctx) }