1
0
mirror of https://github.com/deavmi/birchwood synced 2024-09-20 13:43:19 +02:00

Unoit tests (messages)

- Test the `ChecksMode.HARDCORE` and `ChecksMode.EASY` integration of `Message`'s `encode(ChecksMode)` function
This commit is contained in:
Tristan B. Velloza Kildaire 2023-07-06 19:25:28 +02:00
parent 4b1c827065
commit 81c6cc7010

View File

@ -615,6 +615,8 @@ version(unittest)
// Contains illegal characters // Contains illegal characters
string badString1 = "doos"~"bruh"~"lek"~cast(string)[10]~"ker"; string badString1 = "doos"~"bruh"~"lek"~cast(string)[10]~"ker";
string badString2 = "doos"~"bruh"~"lek"~cast(string)[13]~"ker"; string badString2 = "doos"~"bruh"~"lek"~cast(string)[13]~"ker";
import birchwood.config.conninfo : ChecksMode;
} }
/** /**
@ -637,3 +639,43 @@ unittest
assert(Message.hasIllegalCharacters(Message.stripIllegalCharacters(badString1)) == false); assert(Message.hasIllegalCharacters(Message.stripIllegalCharacters(badString1)) == false);
assert(Message.hasIllegalCharacters(Message.stripIllegalCharacters(badString2)) == false); assert(Message.hasIllegalCharacters(Message.stripIllegalCharacters(badString2)) == false);
} }
/**
* Tests the ability, at the `Message`-level, to detect
* illegal characters and automatically strip them when
* in `ChecksMode.EASY`
*/
unittest
{
Message message = new Message(badString1, "fine", "fine");
try
{
string encoded = message.encode(ChecksMode.EASY);
assert(Message.hasIllegalCharacters(encoded) == false);
}
catch(BirchwoodException e)
{
assert(false);
}
}
/**
* Tests the ability, at the `Message`-level, to detect
* illegal characters and throw an exception when in
* `ChecksMode.HARDCORE`
*/
unittest
{
Message message = new Message(badString1, "fine", "fine");
try
{
message.encode(ChecksMode.EASY);
assert(false);
}
catch(BirchwoodException e)
{
assert(e.getType() == ErrorType.ILLEGAL_CHARACTERS);
}
}