Sort the unsigned field alphabetically in Serialize impls.

This commit is contained in:
Jimmy Cuadra 2019-06-28 13:28:56 -07:00
parent 21351aaff0
commit 8b59318629
4 changed files with 17 additions and 17 deletions

View File

@ -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()
}
}

View File

@ -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()
}
}

View File

@ -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);
}

View File

@ -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);
}