From 743dc19a40f45f312b3851e6f7fa010102c4391c Mon Sep 17 00:00:00 2001 From: Neil Date: Mon, 22 Dec 2014 11:52:44 +1100 Subject: Replace function UnicodeFromBytes with UnicodeFromUTF8 as they are exactly the same. Add unit tests for UnicodeFromUTF8. --- test/unit/testUnicodeFromUTF8.cxx | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/unit/testUnicodeFromUTF8.cxx (limited to 'test/unit/testUnicodeFromUTF8.cxx') diff --git a/test/unit/testUnicodeFromUTF8.cxx b/test/unit/testUnicodeFromUTF8.cxx new file mode 100644 index 000000000..841a9c68c --- /dev/null +++ b/test/unit/testUnicodeFromUTF8.cxx @@ -0,0 +1,44 @@ +// Unit Tests for Scintilla internal data structures + +#include + +#include + +#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); + } + +} -- cgit v1.2.3