diff options
| author | Zeyla Hellyer <[email protected]> | 2017-06-10 21:55:33 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-06-10 21:55:33 -0700 |
| commit | d0b64cd64a18a6116267fa09a837d62c19cced42 (patch) | |
| tree | fc68a0891ea0ddd8187c38f289c8a9ccddc07e8c /tests | |
| parent | Fix voice compilation (diff) | |
| download | serenity-d0b64cd64a18a6116267fa09a837d62c19cced42.tar.xz serenity-d0b64cd64a18a6116267fa09a837d62c19cced42.zip | |
Fix negative nonces failing to deserialize
Negative message nonces caused deserialization errors, as serde would
not deserialize integers into strings.
To fix this, change `Message::nonce` into an `Option<Snowflake>` from an
`Option<String>`. This new `Snowflake` is a wrapper around an `i64`. Use
a new `I64Visitor` to deserialize i64s, u64s, and strs into the wanted
i64.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/resources/message_create_2.json | 23 | ||||
| -rw-r--r-- | tests/test_deser.rs | 4 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/resources/message_create_2.json b/tests/resources/message_create_2.json new file mode 100644 index 0000000..f999397 --- /dev/null +++ b/tests/resources/message_create_2.json @@ -0,0 +1,23 @@ +{ + "type": 0, + "tts": false, + "timestamp": "2017-01-01T01:01:01.100000+00:00", + "pinned": false, + "nonce": -6000000000000000, + "mentions": [], + "mention_roles": [], + "mention_everyone": false, + "id": "300000000000000000", + "embeds": [], + "edited_timestamp": null, + "content": "fake", + "channel_id": "100000000000000000", + "author": { + "username": "fake", + "id": "300000000000000000", + "discriminator": "1234", + "bot": true, + "avatar": "f133549aac3208319a9fbc3c12345678" + }, + "attachments": [] +} diff --git a/tests/test_deser.rs b/tests/test_deser.rs index f4387bc..1024492 100644 --- a/tests/test_deser.rs +++ b/tests/test_deser.rs @@ -111,7 +111,11 @@ fn guild_update() { #[test] fn message_create() { + // standard p!(MessageCreateEvent, "message_create_1"); + + // negative nonce + p!(MessageCreateEvent, "message_create_2"); } #[test] |