notepad-plus-plus/scintilla/test/unit/testUnicodeFromUTF8.cxx

45 lines
853 B
C++
Raw Normal View History

// Unit Tests for Scintilla internal data structures
#include <string.h>
#include <algorithm>
#include "Platform.h"
#include "UnicodeFromUTF8.h"
#include "catch.hpp"
// Test UnicodeFromUTF8.
// Use examples from Wikipedia:
// http://en.wikipedia.org/wiki/UTF-8
TEST_CASE("UnicodeFromUTF8") {
SECTION("ASCII") {
const unsigned char s[]={'a', 0};
REQUIRE(UnicodeFromUTF8(s) == 'a');
}
SECTION("Example1") {
const unsigned char s[]={0x24, 0};
REQUIRE(UnicodeFromUTF8(s) == 0x24);
}
SECTION("Example2") {
const unsigned char s[]={0xC2, 0xA2, 0};
REQUIRE(UnicodeFromUTF8(s) == 0xA2);
}
SECTION("Example3") {
const unsigned char s[]={0xE2, 0x82, 0xAC, 0};
REQUIRE(UnicodeFromUTF8(s) == 0x20AC);
}
SECTION("Example4") {
const unsigned char s[]={0xF0, 0x90, 0x8D, 0x88, 0};
REQUIRE(UnicodeFromUTF8(s) == 0x10348);
}
}