From 95e0414ea5d59e9a43b7e7aeb31f4d15df4f2ca4 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Wed, 30 Aug 2023 18:04:59 +0200 Subject: [PATCH] test: Fix tests. --- crates/matrix-sdk-ui/src/timeline/inner/mod.rs | 6 ++---- crates/matrix-sdk-ui/src/timeline/tests/mod.rs | 5 +---- examples/timeline/src/main.rs | 7 ++++--- .../src/tests/reactions.rs | 9 ++++++--- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/crates/matrix-sdk-ui/src/timeline/inner/mod.rs b/crates/matrix-sdk-ui/src/timeline/inner/mod.rs index 7c8e355eac4..1fdd4f40598 100644 --- a/crates/matrix-sdk-ui/src/timeline/inner/mod.rs +++ b/crates/matrix-sdk-ui/src/timeline/inner/mod.rs @@ -153,7 +153,7 @@ impl TimelineInner

{ let state = self.state.clone(); let ignore_user_list_stream = self.client.subscribe_to_ignore_user_list_changes(); - let stream = stream! { + stream! { pin_mut!(ignore_user_list_stream); loop { @@ -178,9 +178,7 @@ impl TimelineInner

{ state.lock().await.clear(); } } - .switch(); - - stream + .switch() } pub(super) fn subscribe_batched( diff --git a/crates/matrix-sdk-ui/src/timeline/tests/mod.rs b/crates/matrix-sdk-ui/src/timeline/tests/mod.rs index fbfe6b5f8ad..7b81bb1da7a 100644 --- a/crates/matrix-sdk-ui/src/timeline/tests/mod.rs +++ b/crates/matrix-sdk-ui/src/timeline/tests/mod.rs @@ -130,10 +130,7 @@ impl TestTimeline { } fn subscribe(&self) -> impl Stream>> { - let stream = self.inner.subscribe(); - // assert_eq!(items.len(), 0, "Please subscribe to TestTimeline before adding - // items to it"); - stream + self.inner.subscribe() } async fn subscribe_events(&self) -> impl Stream> { diff --git a/examples/timeline/src/main.rs b/examples/timeline/src/main.rs index f6113c64575..eb49e51e157 100644 --- a/examples/timeline/src/main.rs +++ b/examples/timeline/src/main.rs @@ -1,6 +1,6 @@ use anyhow::Result; use clap::Parser; -use futures_util::StreamExt; +use futures_util::{pin_mut, StreamExt}; use matrix_sdk::{self, config::SyncSettings, ruma::OwnedRoomId, Client}; use matrix_sdk_ui::timeline::RoomExt; use url::Url; @@ -71,10 +71,11 @@ async fn main() -> Result<()> { // Get the timeline stream and listen to it. let room = client.get_room(&room_id).unwrap(); let timeline = room.timeline().await; - let (timeline_items, mut timeline_stream) = timeline.subscribe().await; + let timeline_stream = timeline.subscribe(); - println!("Initial timeline items: {timeline_items:#?}"); tokio::spawn(async move { + pin_mut!(timeline_stream); + while let Some(diff) = timeline_stream.next().await { println!("Received a timeline diff: {diff:#?}"); } diff --git a/testing/matrix-sdk-integration-testing/src/tests/reactions.rs b/testing/matrix-sdk-integration-testing/src/tests/reactions.rs index bdb346b7207..ac66772b38a 100644 --- a/testing/matrix-sdk-integration-testing/src/tests/reactions.rs +++ b/testing/matrix-sdk-integration-testing/src/tests/reactions.rs @@ -19,7 +19,7 @@ use assert_matches::assert_matches; use assign::assign; use eyeball_im::VectorDiff; use futures_core::Stream; -use futures_util::{future::join_all, StreamExt}; +use futures_util::{future::join_all, pin_mut, StreamExt}; use matrix_sdk::{ config::SyncSettings, ruma::{ @@ -46,7 +46,10 @@ async fn test_toggling_reaction() -> Result<()> { let room_id = room.room_id(); let timeline = room.timeline().await; let reaction_key = "👍"; - let (_items, mut stream) = timeline.subscribe().await; + let stream = timeline.subscribe(); + pin_mut!(stream); + + let _reset = assert_matches!(stream.next().await, Some(VectorDiff::Reset { values }) => values); // Send message timeline.send(RoomMessageEventContent::text_plain("hi!").into(), None).await; @@ -90,7 +93,7 @@ async fn test_toggling_reaction() -> Result<()> { let reaction = Annotation::new(event_id.clone(), reaction_key.into()); // Toggle reaction multiple times - for _ in 0..3 { + for _nth in 0..3 { // Add timeline.toggle_reaction(&reaction).await?; assert_local_added(&mut stream, user_id, &event_id, &reaction, message_position).await;