From bd175d9f6672b33c8f5083d6db69d0bb522a7607 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Fri, 26 May 2023 15:18:32 +0200 Subject: [PATCH] test(sdk): Store the sync-mode in `SlidingSyncListInner` only for tests. --- .../matrix-sdk/src/sliding_sync/list/builder.rs | 3 +++ crates/matrix-sdk/src/sliding_sync/list/mod.rs | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/crates/matrix-sdk/src/sliding_sync/list/builder.rs b/crates/matrix-sdk/src/sliding_sync/list/builder.rs index 3a627823f..5b8bfafef 100644 --- a/crates/matrix-sdk/src/sliding_sync/list/builder.rs +++ b/crates/matrix-sdk/src/sliding_sync/list/builder.rs @@ -173,6 +173,9 @@ impl SlidingSyncListBuilder { ) -> SlidingSyncList { let list = SlidingSyncList { inner: Arc::new(SlidingSyncListInner { + #[cfg(any(test, feature = "testing"))] + sync_mode: StdRwLock::new(self.sync_mode.clone()), + // From the builder sort: self.sort, required_state: self.required_state, diff --git a/crates/matrix-sdk/src/sliding_sync/list/mod.rs b/crates/matrix-sdk/src/sliding_sync/list/mod.rs index 602104f5f..485984b62 100644 --- a/crates/matrix-sdk/src/sliding_sync/list/mod.rs +++ b/crates/matrix-sdk/src/sliding_sync/list/mod.rs @@ -202,14 +202,21 @@ impl SlidingSyncList { } } -#[cfg(test)] +#[cfg(any(test, feature = "testing"))] +#[allow(dead_code)] impl SlidingSyncList { + /// Set the maximum number of rooms. pub(super) fn set_maximum_number_of_rooms(&self, maximum_number_of_rooms: Option) { Observable::set( &mut self.inner.maximum_number_of_rooms.write().unwrap(), maximum_number_of_rooms, ); } + + /// Get the sync-mode. + pub fn sync_mode(&self) -> SlidingSyncMode { + self.inner.sync_mode.read().unwrap().clone() + } } #[derive(Debug)] @@ -254,6 +261,9 @@ pub(super) struct SlidingSyncListInner { /// The Sliding Sync internal channel sender. See /// [`SlidingSyncInner::internal_channel`] to learn more. sliding_sync_internal_channel_sender: Sender, + + #[cfg(any(test, feature = "testing"))] + sync_mode: StdRwLock, } impl SlidingSyncListInner { @@ -264,6 +274,11 @@ impl SlidingSyncListInner { /// The [`Self::state`] is immediately updated to reflect the new state. The /// [`Self::maximum_number_of_rooms`] won't change. pub fn set_sync_mode(&self, sync_mode: SlidingSyncMode) { + #[cfg(any(test, feature = "testing"))] + { + *self.sync_mode.write().unwrap() = sync_mode.clone(); + } + { let mut request_generator = self.request_generator.write().unwrap(); *request_generator = SlidingSyncListRequestGenerator::new(sync_mode);