mirror of
https://github.com/thunderbrewhq/squall.git
synced 2025-12-12 02:22:30 +00:00
feat(unicode): add SUniSGetUTF8
This commit is contained in:
parent
d6c0d8a739
commit
4bef36fcae
3 changed files with 99 additions and 0 deletions
32
test/Unicode.cpp
Normal file
32
test/Unicode.cpp
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#include "storm/Unicode.hpp"
|
||||
#include "test/Test.hpp"
|
||||
|
||||
TEST_CASE("SUniSGetUTF8", "[unicode]") {
|
||||
SECTION("returns ascii-range utf-8 first character") {
|
||||
auto string = "foobar";
|
||||
int32_t chars = 0;
|
||||
auto code = SUniSGetUTF8(reinterpret_cast<const uint8_t*>(string), &chars);
|
||||
|
||||
REQUIRE(code == 'f');
|
||||
REQUIRE(chars == 1);
|
||||
}
|
||||
|
||||
SECTION("returns non-ascii-range utf-8 first character") {
|
||||
auto string = "\xF0\x9F\x99\x82"
|
||||
"foobar";
|
||||
int32_t chars = 0;
|
||||
auto code = SUniSGetUTF8(reinterpret_cast<const uint8_t*>(string), &chars);
|
||||
|
||||
REQUIRE(code == 0x1F642);
|
||||
REQUIRE(chars == 4);
|
||||
}
|
||||
|
||||
SECTION("returns null first character") {
|
||||
auto string = "";
|
||||
int32_t chars = 0;
|
||||
auto code = SUniSGetUTF8(reinterpret_cast<const uint8_t*>(string), &chars);
|
||||
|
||||
REQUIRE(code == -1u);
|
||||
REQUIRE(chars == 0);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue