module std::string::wstring_test; import std; WString a = @wstring("Hellø"); Char16[] x = @char16("Är du där?"); Char32[] x2 = @char32("你好"); fn void sanity_checks() @test { test::eq(a[:6], (Char16[]) { 'H', 'e', 'l', 'l', 'ø', 0 }); test::eq(x, "Är du där?".to_temp_utf16()!!); test::eq(x2, "你好".to_temp_utf32()!!); } fn void test_get_value() @test { test::eq((ushort)'Ä', $$wstr16("ÅÄÖ")[1]); const uint VAL = $$wstr32("XYZ👍ABC")[3]; test::eq((uint)'👍', VAL); } fn void lengths() @test { test::eq($$wstr16("ABC").len, 4); test::eq($$wstr16("ABC", false).len, 3); Char16[*] w = $$wstr16("ÅÄÖ"); test::eq(w, (Char16[*]) { 'Å', 'Ä', 'Ö', 0 }); }