From 8b59318629a58246752d93ce55bd89f3ee8b8377 Mon Sep 17 00:00:00 2001 From: Jimmy Cuadra Date: Fri, 28 Jun 2019 13:28:56 -0700 Subject: [PATCH] Sort the unsigned field alphabetically in Serialize impls. --- src/room/canonical_alias.rs | 8 ++++---- src/room/encrypted.rs | 6 +++--- src/room/name.rs | 10 +++++----- src/room/power_levels.rs | 10 +++++----- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/room/canonical_alias.rs b/src/room/canonical_alias.rs index 6a581c19..67baecda 100644 --- a/src/room/canonical_alias.rs +++ b/src/room/canonical_alias.rs @@ -115,14 +115,14 @@ impl Serialize for CanonicalAliasEvent { state.serialize_field("room_id", &self.room_id)?; } - if self.unsigned.is_some() { - state.serialize_field("unsigned", &self.unsigned)?; - } - state.serialize_field("sender", &self.sender)?; state.serialize_field("state_key", &self.state_key)?; state.serialize_field("type", &self.event_type())?; + if self.unsigned.is_some() { + state.serialize_field("unsigned", &self.unsigned)?; + } + state.end() } } diff --git a/src/room/encrypted.rs b/src/room/encrypted.rs index 8087b815..9d18e16f 100644 --- a/src/room/encrypted.rs +++ b/src/room/encrypted.rs @@ -114,13 +114,13 @@ impl Serialize for EncryptedEvent { state.serialize_field("room_id", &self.room_id)?; } + state.serialize_field("sender", &self.sender)?; + state.serialize_field("type", &self.event_type())?; + if self.unsigned.is_some() { state.serialize_field("unsigned", &self.unsigned)?; } - state.serialize_field("sender", &self.sender)?; - state.serialize_field("type", &self.event_type())?; - state.end() } } diff --git a/src/room/name.rs b/src/room/name.rs index 7393f8d8..153c9fa1 100644 --- a/src/room/name.rs +++ b/src/room/name.rs @@ -113,14 +113,14 @@ impl Serialize for NameEvent { state.serialize_field("room_id", &self.room_id)?; } - if self.unsigned.is_some() { - state.serialize_field("unsigned", &self.unsigned)?; - } - state.serialize_field("sender", &self.sender)?; state.serialize_field("state_key", &self.state_key)?; state.serialize_field("type", &self.event_type())?; + if self.unsigned.is_some() { + state.serialize_field("unsigned", &self.unsigned)?; + } + state.end() } } @@ -242,7 +242,7 @@ mod tests { }; let actual = serde_json::to_string(&name_event).unwrap(); - let expected = r#"{"content":{"name":"The room name"},"event_id":"$h29iv0s8:example.com","origin_server_ts":1,"prev_content":{"name":"The old name"},"room_id":"!n8f893n9:example.com","unsigned":{"foo":"bar"},"sender":"@carl:example.com","state_key":"","type":"m.room.name"}"#; + let expected = r#"{"content":{"name":"The room name"},"event_id":"$h29iv0s8:example.com","origin_server_ts":1,"prev_content":{"name":"The old name"},"room_id":"!n8f893n9:example.com","sender":"@carl:example.com","state_key":"","type":"m.room.name","unsigned":{"foo":"bar"}}"#; assert_eq!(actual, expected); } diff --git a/src/room/power_levels.rs b/src/room/power_levels.rs index bfcbb777..0e7d984f 100644 --- a/src/room/power_levels.rs +++ b/src/room/power_levels.rs @@ -169,14 +169,14 @@ impl Serialize for PowerLevelsEvent { state.serialize_field("room_id", &self.room_id)?; } - if self.unsigned.is_some() { - state.serialize_field("unsigned", &self.unsigned)?; - } - state.serialize_field("sender", &self.sender)?; state.serialize_field("state_key", &self.state_key)?; state.serialize_field("type", &self.event_type())?; + if self.unsigned.is_some() { + state.serialize_field("unsigned", &self.unsigned)?; + } + state.end() } } @@ -361,7 +361,7 @@ mod tests { }; let actual = serde_json::to_string(&power_levels_event).unwrap(); - let expected = r#"{"content":{"ban":50,"events":{},"events_default":50,"invite":50,"kick":50,"redact":50,"state_default":50,"users":{},"users_default":50,"notifications":{"room":50}},"event_id":"$h29iv0s8:example.com","origin_server_ts":1,"prev_content":{"ban":75,"events":{},"events_default":50,"invite":50,"kick":50,"redact":50,"state_default":50,"users":{},"users_default":50,"notifications":{"room":50}},"room_id":"!n8f893n9:example.com","unsigned":{"foo":"bar"},"sender":"@carl:example.com","state_key":"","type":"m.room.power_levels"}"#; + let expected = r#"{"content":{"ban":50,"events":{},"events_default":50,"invite":50,"kick":50,"redact":50,"state_default":50,"users":{},"users_default":50,"notifications":{"room":50}},"event_id":"$h29iv0s8:example.com","origin_server_ts":1,"prev_content":{"ban":75,"events":{},"events_default":50,"invite":50,"kick":50,"redact":50,"state_default":50,"users":{},"users_default":50,"notifications":{"room":50}},"room_id":"!n8f893n9:example.com","sender":"@carl:example.com","state_key":"","type":"m.room.power_levels","unsigned":{"foo":"bar"}}"#; assert_eq!(actual, expected); }